From: dan Date: Tue, 24 Apr 2018 18:59:18 +0000 (+0000) Subject: Remove a recently added NEVER() macro from a branch that can be taken in X-Git-Tag: version-3.24.0~97 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ccb9eb782c45ccd089e912ce79eb49804914eb40;p=thirdparty%2Fsqlite.git Remove a recently added NEVER() macro from a branch that can be taken in obscure circumstances. FossilOrigin-Name: 2aa210030ae414782adab9291cc43a149a780f39bd3d306dc2892a8c20422a51 --- diff --git a/manifest b/manifest index 425acebba3..e5c1579ed5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sprocessing\s"LEFT\sJOIN\stbl\sON\stbl.a\s=\s?\sAND\s(tbl.b=?\sOR\ntbl.c=?)"\sin\scases\swhere\sthere\sare\sindexes\son\sboth\stbl(a,\sb)\sand\stbl(a,\sc). -D 2018-04-24T18:53:24.943 +C Remove\sa\srecently\sadded\sNEVER()\smacro\sfrom\sa\sbranch\sthat\scan\sbe\staken\sin\nobscure\scircumstances. +D 2018-04-24T18:59:18.950 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 5ce9343cba9c189046f1afe6d2bcc1f68079439febc05267b98aec6ecc752439 @@ -492,7 +492,7 @@ F src/printf.c d3b7844ddeb11fbbdd38dd84d09c9c1ac171d21fb038473c3aa97981201cc660 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c 6415381a0e9d22c0e7cba33ca4a53f81474190862f5d4838190f5eb5b0b47bc9 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac -F src/select.c 95dff4409d5a5a7cee215194241048644b9dfe3371ea10df5828ba09e34b66b9 +F src/select.c 3dbce4379836189acbc5719f40125f3d1e0dbaee024ec4550ab449744a8cb074 F src/shell.c.in fc3f9e47198c6baea6987b6ec86fb99e7c79cee8109ce9bdece790345d8c246f F src/sqlite.h.in aa9bd3ae4a077c7002059cb418271abe52214b0227b2a734bc44736b24cbcc40 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -1580,7 +1580,7 @@ F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cf F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417 F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747 -F test/where.test b895199587ff81ae61cee4a0e401db14145c30dcab64204b0905028510cc8426 +F test/where.test f19ea3fa31c425b04af42c8b192a5b595ee84498df8d27dcd79ec043b25fbbfb F test/where2.test 478d2170637b9211f593120648858593bf2445a1 F test/where3.test 54cdeb02157acc979de41530b804ae7b09552bf1 F test/where4.test 4a371bfcc607f41d233701bdec33ac2972908ba8 @@ -1725,7 +1725,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 aeb694e3f787f1f8b55650c17f90c197eee3f7f9b890a88f458c33e43009a082 -R 56c49ae18195fa15548a505c9f447aff +P ce35e39c5cc2b00dd6b4a9ffaa9d5eb7d9b862759e87d5f053729de7643eee9c +R b81c41d41f6d79a1f11e2959c7e48fbd U dan -Z 3395e9aff5f6302e6b05ef897c94003f +Z d6a8a882b554cae8ae80a8c6e35bf17b diff --git a/manifest.uuid b/manifest.uuid index 728dc6f2e2..0dc75a413d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ce35e39c5cc2b00dd6b4a9ffaa9d5eb7d9b862759e87d5f053729de7643eee9c \ No newline at end of file +2aa210030ae414782adab9291cc43a149a780f39bd3d306dc2892a8c20422a51 \ No newline at end of file diff --git a/src/select.c b/src/select.c index 8bb87a6d6a..79fc211147 100644 --- a/src/select.c +++ b/src/select.c @@ -5543,7 +5543,7 @@ int sqlite3Select( ** a view or the co-routine to implement a view. The first instance ** is sufficient, though the subroutine to manifest the view does need ** to be invoked again. */ - if( NEVER(pItem->addrFillSub) ){ + if( pItem->addrFillSub ){ if( pItem->fg.viaCoroutine==0 ){ /* The subroutine that manifests the view might be a one-time routine, ** or it might need to be rerun on each iteration because it diff --git a/test/where.test b/test/where.test index 54307b7f39..7ac1738028 100644 --- a/test/where.test +++ b/test/where.test @@ -1391,5 +1391,26 @@ do_execsql_test where-20.0 { SELECT count(*) FROM t201 LEFT JOIN t202 ON (x=y) WHERE ifnull(z, 0) >=0; } {0} +do_execsql_test where-21.0 { + CREATE TABLE t12(a, b, c); + CREATE TABLE t13(x); + CREATE INDEX t12ab ON t12(b, a); + CREATE INDEX t12ac ON t12(c, a); + + INSERT INTO t12 VALUES(4, 0, 1); + INSERT INTO t12 VALUES(4, 1, 0); + INSERT INTO t12 VALUES(5, 0, 1); + INSERT INTO t12 VALUES(5, 1, 0); + + INSERT INTO t13 VALUES(1), (2), (3), (4); +} +do_execsql_test where-21.1 { + SELECT * FROM t12 WHERE + a = (SELECT * FROM (SELECT count(*) FROM t13 LIMIT 5) ORDER BY 1 LIMIT 10) + AND (b=1 OR c=1); +} { + 4 1 0 + 4 0 1 +} finish_test