From: drh Date: Wed, 4 Dec 2019 03:31:29 +0000 (+0000) Subject: Fix an incorrect NEVER() macro. X-Git-Tag: version-3.31.0~269 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f68bf5fbe61a8d848fa5fe187ea548ce27940103;p=thirdparty%2Fsqlite.git Fix an incorrect NEVER() macro. FossilOrigin-Name: 96b6a76da09a94182414ec1a56da91728c37329d2b55f889e433054ca21605ce --- diff --git a/manifest b/manifest index dd58fc40b6..f6e37558fe 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sdouble-free\sthat\scould\soccur\swhen\sa\scomponent\sof\sa\scompound\sSELECT\swith\san\sORDER\sBY\sclause\suses\snamed\swindow\sdefinitions. -D 2019-12-04T01:42:07.734 +C Fix\san\sincorrect\sNEVER()\smacro. +D 2019-12-04T03:31:29.198 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 d22498af716953400e314d2d98d1dac3ea5c3b01e0fd243ef9e9b132c74114ec F src/btree.h f27a33c49280209a93385e218306c4ee5f46ba8d7649d2f81a7166b282232484 F src/btreeInt.h 91806f01fd1145a9a86ba3042f25c38d8faf6002701bf5e780742cf88bcff437 -F src/build.c fe0b0b6dfab27a6f5778bd3dba8db879fda114c1d524a9597e5195ac55c8d01b +F src/build.c 66b148378024f568108d0d9b6ef9b447ebcc99e1f7ce837b78f19351e6729bbc F src/callback.c 88615dfc0a82167b65b452b4b305dbf86be77200b3343c6ffc6d03e92a01d181 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 1b0724e66f95f33b160b1af85caaf9cceb325d22abf39bd24df4f54a73982251 @@ -1021,7 +1021,7 @@ F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 F test/gcfault.test dd28c228a38976d6336a3fc42d7e5f1ad060cb8c -F test/gencol1.test 38cb338e5ccea1b39fbba194f1783ff926f776fbea920c844de69736a920cda3 +F test/gencol1.test 0efde3919b81a05491ad6f37e59d81901b6fa5723596b21accfe269df9b3cf06 F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98 F test/having.test e4098a4b8962f9596035c3b87a8928a10648acc509f1bb8d6f96413bbf79a1b3 F test/hexlit.test 4a6a5f46e3c65c4bf1fa06f5dd5a9507a5627751 @@ -1851,7 +1851,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 c4cb9708d48ead10ee9543f86878be8382cd6e850950d5384c95254bac4a8d6e -R 50d408243bb61800e18f1d80adeb2f31 -U dan -Z 41b727e6fceeaebb19f646fd7293c6bb +P 92893b7980cbb0c6e26bc0b21390a717193205c9897fea5f26476462928897f9 +R 71a000a584998c5cbed7b42e5b235047 +U drh +Z fc2b6df0750a16e80970f4dfbfa5ac6e diff --git a/manifest.uuid b/manifest.uuid index 8f819f4d5f..9a4141014d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -92893b7980cbb0c6e26bc0b21390a717193205c9897fea5f26476462928897f9 \ No newline at end of file +96b6a76da09a94182414ec1a56da91728c37329d2b55f889e433054ca21605ce \ No newline at end of file diff --git a/src/build.c b/src/build.c index e92596e4a3..5026b89e47 100644 --- a/src/build.c +++ b/src/build.c @@ -1629,7 +1629,10 @@ void sqlite3AddGenerated(Parse *pParse, Expr *pExpr, Token *pType){ u8 eType = COLFLAG_VIRTUAL; Table *pTab = pParse->pNewTable; Column *pCol; - if( NEVER(pTab==0) ) goto generated_done; + if( pTab==0 ){ + /* generated column in an CREATE TABLE IF NOT EXISTS that already exists */ + goto generated_done; + } pCol = &(pTab->aCol[pTab->nCol-1]); if( IN_DECLARE_VTAB ){ sqlite3ErrorMsg(pParse, "virtual tables cannot use computed columns"); diff --git a/test/gencol1.test b/test/gencol1.test index 7498f4c38d..4bb499f8e4 100644 --- a/test/gencol1.test +++ b/test/gencol1.test @@ -262,4 +262,14 @@ do_execsql_test gencol1-9.20 { SELECT 200, * FROM t3; } {100 1 1} +# 2019-12-04 Generated column in a CREATE TABLE IF NOT EXISTS that +# does already exist. +# +sqlite3 db :memory: +do_execsql_test gencol1-10.10 { + CREATE TABLE t1(aa,bb); + CREATE TABLE IF NOT EXISTS t1(aa, bb AS (aa+1)); + PRAGMA integrity_check; +} {ok} + finish_test