Remove a recently added NEVER() macro from a branch that can be taken in

obscure circumstances.

FossilOrigin-Name: 2aa210030ae414782adab9291cc43a149a780f39bd3d306dc2892a8c20422a51
This commit is contained in:
dan 2018-04-24 18:59:18 +00:00
parent 820fcd2ce9
commit ccb9eb782c
4 changed files with 30 additions and 9 deletions

View File

@ -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

View File

@ -1 +1 @@
ce35e39c5cc2b00dd6b4a9ffaa9d5eb7d9b862759e87d5f053729de7643eee9c
2aa210030ae414782adab9291cc43a149a780f39bd3d306dc2892a8c20422a51

View File

@ -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

View File

@ -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