From: drh Date: Sat, 10 Dec 2011 17:17:17 +0000 (+0000) Subject: Allow UNION ALL compounds to be promoted up to replace a simple wrapper X-Git-Tag: version-3.7.10~19^2~69 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1acc6cbe0078c40dd54d73800d874487b49a6dc5;p=thirdparty%2Fsqlite.git Allow UNION ALL compounds to be promoted up to replace a simple wrapper SELECT even if the compounds are joins. FossilOrigin-Name: 3d4b4f4fb7c1d9f1c742fef884383e9f50f8630e --- diff --git a/manifest b/manifest index 14ed07d1eb..def2ec37dc 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Import\sthe\sexperimental\sparse-tree\sexplainer,\swith\sfixes,\sfrom\sthe\ntree-explain\sbranch. -D 2011-12-10T15:55:01.825 +C Allow\sUNION\sALL\scompounds\sto\sbe\spromoted\sup\sto\sreplace\sa\ssimple\swrapper\nSELECT\seven\sif\sthe\scompounds\sare\sjoins. +D 2011-12-10T17:17:17.131 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -180,7 +180,7 @@ F src/printf.c 7ffb4ebb8b341f67e049695ba031da717b3d2699 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 F src/resolve.c 365ab1c870e38596d6869e76fb544fe6e4ffc809 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 -F src/select.c 4d64e3ccccfd2b46e60e7a4cfd21175c3341e859 +F src/select.c 8c53ca04d6f6c06dd3bba5b53070572fd26ceaaa F src/shell.c a1eadb2fdbfa45e54307263f0c8da8ee8cd61b8b F src/sqlite.h.in 1dc07194eb1a2c69c8ef75f88022b170be08024a F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 @@ -978,7 +978,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 256e27bd118ed3ab6ecb19ad6a6494b71ac9bdd5 1a360da0f8314f232c224c71829646bc7558892b -R 3dfa94d97a11ee2a078f9f1b12bd877f +P bcbc7152d49107afa926c8950360c61a6cf3d244 +R fdd2391ad6c97a200fa195ba2b7608fb U drh -Z 7f30df8f1f79a1cfbb2b882f754d8454 +Z 0fd477d0479c6495f79c3db569ff13d1 diff --git a/manifest.uuid b/manifest.uuid index a0c27bc5c9..f5b1a92778 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bcbc7152d49107afa926c8950360c61a6cf3d244 \ No newline at end of file +3d4b4f4fb7c1d9f1c742fef884383e9f50f8630e \ No newline at end of file diff --git a/src/select.c b/src/select.c index c41dc07f9e..02e71960f1 100644 --- a/src/select.c +++ b/src/select.c @@ -2812,7 +2812,7 @@ static int flattenSubquery( testcase( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))==SF_Aggregate ); if( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))!=0 || (pSub1->pPrior && pSub1->op!=TK_ALL) - || NEVER(pSub1->pSrc==0) || pSub1->pSrc->nSrc!=1 + || NEVER(pSub1->pSrc==0) || pSub1->pSrc->nSrc<1 ){ return 0; }