]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds
authordan <dan@noemail.net>
Mon, 27 Nov 2017 17:56:14 +0000 (17:56 +0000)
committerdan <dan@noemail.net>
Mon, 27 Nov 2017 17:56:14 +0000 (17:56 +0000)
that use foreign keys.

FossilOrigin-Name: 465350e55ddaf30cfba7874653301de7238a9dc2bc5e1f800fc95de9360679f6

manifest
manifest.uuid
src/vdbemem.c
test/fkey7.test

index d1e9d5f8424bfaecd849739cf4856d77b2ec6fb9..24f68558724d4f18595f45b37d3e028d5774b13c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\san\sCSV\soutput\squoting\sproblem\sin\sthe\scommand-line\sshell\son\sWindows.
-D 2017-11-26T02:14:18.907
+C Fix\sa\sfaulty\sNEVER\sassert()\sthat\scould\sfail\sfor\sSQLITE_ENABLE_STAT4\sbuilds\nthat\suse\sforeign\skeys.
+D 2017-11-27T17:56:14.310
 F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e5d7606238f55816da99f719969598df5b091aa2e9a6935c9412fcae8f53fc44
@@ -546,7 +546,7 @@ F src/vdbeInt.h 1fe00770144c12c4913128f35262d11527ef3284561baaab59b947a41c08d0d9
 F src/vdbeapi.c 9c670ca0dcc1cd86373aa353b747b26fe531ca5cd4331690c611d1f03842e2a1
 F src/vdbeaux.c b02a1f842c0e916285643b8475b7189f10b76f9e7edb5e2353a913c7980f90b5
 F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191
-F src/vdbemem.c 2ef9e66b301a1e575e32966c4c0fd4844e8eea37a2f02bae78c4f68f50a6ab30
+F src/vdbemem.c 6e6082377183b8fd8d6f2bce45250b4c2e89bfeb534a094cd8612dae8aaa2fda
 F src/vdbesort.c 731a09e5cb9e96b70c394c1b7cf3860fbe84acca7682e178615eb941a3a0ef2f
 F src/vdbetrace.c 48e11ebe040c6b41d146abed2602e3d00d621d7ebe4eb29b0a0f1617fd3c2f6c
 F src/vtab.c 0e4885495172e1bdf54b12cce23b395ac74ef5729031f15e1bc1e3e6b360ed1a
@@ -787,7 +787,7 @@ F test/fkey3.test 76d475c80b84ee7a5d062e56ccb6ea68882e2b49
 F test/fkey4.test 86446017011273aad8f9a99c1a65019e7bd9ca9d
 F test/fkey5.test 24dd28eb3d9f1b5a174f47e9899ace5facb08373a4223593c8c631e6cf9f7d5a
 F test/fkey6.test d078a1e323a740062bed38df32b8a736fd320dc0
-F test/fkey7.test 72e915890ee4a005daaf3002cb208e8fe973ac13
+F test/fkey7.test 24076d43d3449f12f25503909ca4bfb5fc5fefd5af1f930723a496343eb28454
 F test/fkey8.test e5372e32cdb4481f121ec3550703eeb7b4e0762c
 F test/fkey_malloc.test 594a7ea1fbab553c036c70813cd8bd9407d63749
 F test/fordelete.test eb93a2f34137bb87bdab88fcab06c0bd92719aff
@@ -1678,7 +1678,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 24d7058e2799133dd681d2fef341025ca50554861bb4cd39e93ee87ae1d8a605
-R 8e5988afe15fc17639c16180584a05a2
-U drh
-Z 78b26e27b3171f1fcd46be47e5730c56
+P 6500cdbd36b0169f37fe363c49182b3e30477a51bb521c2a964555cd086a5589
+R 0247a4bb86c66f994a19293f6b9d8594
+U dan
+Z a556263a76630f97a74cefb44456d7c1
index 9e0d3680554e86aceda01284533eaf84e1c810dc..51e38488214ccbc6ad787090cd1af0a86fbd7d7b 100644 (file)
@@ -1 +1 @@
-6500cdbd36b0169f37fe363c49182b3e30477a51bb521c2a964555cd086a5589
\ No newline at end of file
+465350e55ddaf30cfba7874653301de7238a9dc2bc5e1f800fc95de9360679f6
\ No newline at end of file
index f9f58c43f471ba04e3edbb9d815f49fb26764c3e..3ec7394a454d131afe55976b1d1873ce0420ef34 100644 (file)
@@ -1321,7 +1321,7 @@ static int valueFromExpr(
 
   assert( pExpr!=0 );
   while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft;
-  if( NEVER(op==TK_REGISTER) ) op = pExpr->op2;
+  if( op==TK_REGISTER ) op = pExpr->op2;
 
   /* Compressed expressions only appear when parsing the DEFAULT clause
   ** on a table column definition, and hence only when pCtx==0.  This
index 6c646a9a7f86931b08ab809670c35d4aa4fe2d64..e86fc5c57bd1ca269bc68860874e468402aefb43 100644 (file)
@@ -68,4 +68,18 @@ ifcapable incrblob {
   } {SQLITE_CONSTRAINT}
 }
 
+ifcapable stat4 {
+  do_execsql_test 3.0 {
+    CREATE TABLE p4 (id INTEGER NOT NULL PRIMARY KEY);
+    INSERT INTO p4 VALUES(1), (2), (3);
+
+    CREATE TABLE c4(x INTEGER REFERENCES p4(id) DEFERRABLE INITIALLY DEFERRED);
+    CREATE INDEX c4_x ON c4(x);
+    INSERT INTO c4 VALUES(1), (2), (3);
+
+    ANALYZE;
+    INSERT INTO p4(id) VALUES(4);
+  }
+}
+
 finish_test