From: drh Date: Fri, 3 Jan 2020 14:34:04 +0000 (+0000) Subject: Remove an over-zealous ALWAYS() macro and add a test case that shows that X-Git-Tag: version-3.31.0~81 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c983b2f86d6440cb0687008fd200b681f692749;p=thirdparty%2Fsqlite.git Remove an over-zealous ALWAYS() macro and add a test case that shows that the conditional can sometimes be false. FossilOrigin-Name: 536e9a9d1bd514056ecbc8172ed58f2656a86f791a15e526ae2e5f2c93687b6a --- diff --git a/manifest b/manifest index e435770e4a..8e0a0698d7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\spossible\sNULL\spointer\sdereference\scaused\sby\susing\sa\s"VALUES(...)"\sas\sa\scomponent\sof\sa\scompound\sSELECT\swith\snon-integer\sORDER\sBY\sclause\sterms. -D 2020-01-03T14:27:08.910 +C Remove\san\sover-zealous\sALWAYS()\smacro\sand\sadd\sa\stest\scase\sthat\sshows\sthat\nthe\sconditional\scan\ssometimes\sbe\sfalse. +D 2020-01-03T14:34:04.183 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -472,7 +472,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 F src/btree.c f191aa4d99597a1ad77cb15a9473f1183f2a12a7f1650a7705eaac9085e493bb F src/btree.h 6111552f19ed7a40f029cf4b33badc6fef9880314fffd80a945f0b7f43ab7471 F src/btreeInt.h 6794084fad08c9750b45145743c0e3e5c27c94dee89f26dd8df7073314934fd2 -F src/build.c 9b7153d93308783c801c5c36d9b4b3189ab4f00cd9ad6bf4d6c9750378a56be9 +F src/build.c 67b1a8d3ac700747687dbdc49ded847a3c17fef450a8c919ac0399b44cbd4215 F src/callback.c 88615dfc0a82167b65b452b4b305dbf86be77200b3343c6ffc6d03e92a01d181 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 1b0724e66f95f33b160b1af85caaf9cceb325d22abf39bd24df4f54a73982251 @@ -735,7 +735,7 @@ F test/chunksize.test 427d87791743486cbf0c3b8c625002f3255cb3a89c6eba655a98923b13 F test/close.test eccbad8ecd611d974cbf47278c3d4e5874faf02d811338d5d348af42d56d647c F test/closure01.test 9905883f1b171a4638f98fc764879f154e214a306d3d8daf412a15e7f3a9b1e0 F test/coalesce.test cee0dccb9fbd2d494b77234bccf9dc6c6786eb91 -F test/collate1.test 4178fda6f4cd757b7a278e6b83805868fb1eb46edafb6e3d4bcc2419f8d93202 +F test/collate1.test 532b4992f78e91dd80c2e3c7bd944fada8cbe3d6c0ded0b20f7182b4dfca0006 F test/collate2.test 9aaa410a00734e48bcb27f3872617d6f69b2a621 F test/collate3.test 89defc49983ddfbf0a0555aca8c0521a676f56a5 F test/collate4.test c953715fb498b87163e3e73dd94356bff1f317bd @@ -1853,7 +1853,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 b36126c1889e323c9a8f04b4f4884576993c845e7d393e5e73aaa6ab5158c1f9 -R 75718b3ecb40084b909fa43386a332aa -U dan -Z 2bca40ae05d6e85633d3e5915ae4749d +P 9d791116420f4e3f613775569e0a0cba2fc22da568b2fb2df920bcf9c9002938 +R 95579694e6c940cfce958a36249eabe6 +U drh +Z 7a1e3b4d114838baf5b8097e8c4ad0d7 diff --git a/manifest.uuid b/manifest.uuid index a35df94030..cac5ef7bc0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9d791116420f4e3f613775569e0a0cba2fc22da568b2fb2df920bcf9c9002938 \ No newline at end of file +536e9a9d1bd514056ecbc8172ed58f2656a86f791a15e526ae2e5f2c93687b6a \ No newline at end of file diff --git a/src/build.c b/src/build.c index 23d7e7910f..81332356ec 100644 --- a/src/build.c +++ b/src/build.c @@ -2638,7 +2638,7 @@ int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ sqlite3ColumnsFromExprList(pParse, pTable->pCheck, &pTable->nCol, &pTable->aCol); if( db->mallocFailed==0 - && ALWAYS(pParse->nErr==0) + && pParse->nErr==0 && pTable->nCol==pSel->pEList->nExpr ){ sqlite3SelectAddColumnTypeAndCollation(pParse, pTable, pSel, diff --git a/test/collate1.test b/test/collate1.test index f21d367b9f..007dd7c370 100644 --- a/test/collate1.test +++ b/test/collate1.test @@ -436,4 +436,16 @@ do_faultsim_test 9.1 -faults oom* -body { faultsim_test_result {0 {}} } +# 2020-01-03 dbsqlfuzz find +# +reset_db +do_catchsql_test 10.0 { + CREATE TABLE t1(a INTEGER PRIMARY KEY,b); + INSERT INTO t1 VALUES(0,NULL); + CREATE TABLE t2(x UNIQUE); + CREATE VIEW v1a(z,y) AS SELECT x COLLATE x FROM t2; + SELECT a,b,z,y,'' FROM t1 JOIN v1a ON b IS NOT FALSE; +} {1 {no such collation sequence: x}} + + finish_test