]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Tighten the generated column requirement such that every table must have
authordrh <drh@noemail.net>
Tue, 29 Oct 2019 03:39:17 +0000 (03:39 +0000)
committerdrh <drh@noemail.net>
Tue, 29 Oct 2019 03:39:17 +0000 (03:39 +0000)
at least one non-generated column.  Ticket [166347c6fc994155].

FossilOrigin-Name: 4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b

manifest
manifest.uuid
src/build.c

index d0d6397ee6d34fb5422373401d91b2f76b519eda..305f14180fccf5555f4e1f1e7755075a28ca4b4c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\smissing\stranslation\sfrom\stable\scolumn\snumbers\sto\sstorage\stable\snumbers\nwhile\sprocessing\sconstraints\son\san\sUPDATE\sstatement.\nTicket\s[9621dd78a024d07a]
-D 2019-10-29T03:30:26.054
+C Tighten\sthe\sgenerated\scolumn\srequirement\ssuch\sthat\severy\stable\smust\shave\nat\sleast\sone\snon-generated\scolumn.\s\sTicket\s[166347c6fc994155].
+D 2019-10-29T03:39:17.714
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -470,7 +470,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
 F src/btree.c 12e251f8c3eaad05e6d0db94772bf779b3a644e18d884025da6bcbc98cad1d22
 F src/btree.h f27a33c49280209a93385e218306c4ee5f46ba8d7649d2f81a7166b282232484
 F src/btreeInt.h 91806f01fd1145a9a86ba3042f25c38d8faf6002701bf5e780742cf88bcff437
-F src/build.c c0f279e9ef04cbd5f5b97628f7f8dd76cf30db36927fe566e82f2fc695ffc19c
+F src/build.c 7afa8336eb6e154a9d687a57d6784d8f0ddcdb38ff5c266f7b595f8e737edd89
 F src/callback.c 88615dfc0a82167b65b452b4b305dbf86be77200b3343c6ffc6d03e92a01d181
 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
 F src/ctime.c 1b0724e66f95f33b160b1af85caaf9cceb325d22abf39bd24df4f54a73982251
@@ -1848,7 +1848,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 591973217f1caf24cde91dc15b7edca2edda05dac8ae2b2cd8d71e7aa072f7d1
-R 24e97e0296b21647315af04b485f5143
+P 361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
+R f38e4bc770b0e4cac1c1d7cd5ea27795
 U drh
-Z 5b847cd00fe978f8703699f99d27a61c
+Z f0fd4433a459345a3d1e230e95f7dbc0
index 0b78352e112e150de5a9ee2f357744b451997bde..f0d63945b5fa7a18a0471df791d022fb8c9dd5e4 100644 (file)
@@ -1 +1 @@
-361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
\ No newline at end of file
+4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b
\ No newline at end of file
index 8c26715b1729b11938517fd07b8c9a76921769ae..56798e3591717eaa23b0d298829c3f6245d8431d 100644 (file)
@@ -2242,7 +2242,7 @@ void sqlite3EndTable(
 #endif /* !defined(SQLITE_OMIT_CHECK) */
 #ifndef SQLITE_OMIT_GENERATED_COLUMNS
   if( p->tabFlags & TF_HasGenerated ){
-    int ii, nNV = 0;
+    int ii, nNG = 0;
     testcase( p->tabFlags & TF_HasVirtual );
     testcase( p->tabFlags & TF_HasStored );
     for(ii=0; ii<p->nCol; ii++){
@@ -2252,11 +2252,12 @@ void sqlite3EndTable(
         testcase( colFlags & COLFLAG_STORED );
         sqlite3ResolveSelfReference(pParse, p, NC_GenCol, 
                                     p->aCol[ii].pDflt, 0);
+      }else{
+        nNG++;
       }
-      if( (colFlags & COLFLAG_VIRTUAL)==0 ) nNV++;
     }
-    if( nNV==0 ){
-      sqlite3ErrorMsg(pParse, "must have at least one non-VIRTUAL column");
+    if( nNG==0 ){
+      sqlite3ErrorMsg(pParse, "must have at least one non-generated column");
       return;
     }
   }