From: drh Date: Tue, 2 May 2017 16:55:07 +0000 (+0000) Subject: Move terms of the HAVING clause that reference only columns in the GROUP BY X-Git-Tag: version-3.19.0~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a1f5c0c90bd9d4c787fb4475329fef3b15ed3845;p=thirdparty%2Fsqlite.git Move terms of the HAVING clause that reference only columns in the GROUP BY clause over to the WHERE clause, resulting in a faster query plan. FossilOrigin-Name: 47cbb471d056c8e1834a5ca72491404a3bfb273b5ff7bdd84b98d263938ea874 --- a1f5c0c90bd9d4c787fb4475329fef3b15ed3845 diff --cc manifest index 34f024e720,0421bd0099..36affcf425 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Fix\stypo\sin\scomment.\s\sNo\schanges\sto\scode. - D 2017-05-02T01:30:44.805 -C Additional\scomments\son\sthe\ssqlite3ExprIsConstantOrGroupBy()\sroutine.\s\sNo\ncode\schanges. -D 2017-05-02T16:46:41.947 ++C Move\sterms\sof\sthe\sHAVING\sclause\sthat\sreference\sonly\scolumns\sin\sthe\sGROUP\sBY\nclause\sover\sto\sthe\sWHERE\sclause,\sresulting\sin\sa\sfaster\squery\splan. ++D 2017-05-02T16:55:07.827 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 6a8c838220f7c00820e1fc0ac1bccaaa8e5676067e1dbfa1bafa7a4ffecf8ae6 @@@ -402,12 -402,12 +402,12 @@@ F src/printf.c 8757834f1b54dae512fb25eb F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c 3e518b962d932a997fae373366880fc028c75706 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac - F src/select.c 478e95d424bb86d34c7c95d20872cbd78df97af5f83c3fd7de55d5b2413f927d -F src/select.c 2c7ce8872ba623c24ebe2e881c54d7f7dcd3d9a3af04b8e34db0671354082db9 ++F src/select.c 4bbdacd119f22b3b7712b1c1f54bb52fdc7d97d24e131440cc5f235b9df42b0c F src/shell.c 21b79c0e1b93f8e35fd7b4087d6ba438326c3d7e285d0dd51dfd741475f858a1 -F src/sqlite.h.in 40233103e3e4e10f8a63523498d0259d232e42aba478e2d3fb914799185aced6 +F src/sqlite.h.in eeb1da70a61d52e1d58e5b55446b85bbac571699421d3cf857421c56214013ce F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 58fd0676d3111d02e62e5a35992a7d3da5d3f88753acc174f2d37b774fbbdd28 - F src/sqliteInt.h 9affb53bb405dcea1d86e85198ebaf6232a684cc2b2af6b3c181869f1c8f3e93 + F src/sqliteInt.h aea3aa1b81e0d07d5b1c39b8c5a54a1dc5e4f10136cb63da392aef9eb2a5108b F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1 F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34 @@@ -1577,7 -1578,7 +1578,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P adcad37b001d255299be716b16003b56ec1fba349ef73261ee0e543186c4f311 - R 333e64e1a0afdbe4625860741bf47c15 - U mistachkin - Z b65b5e3a6f4ab6d1f0aa8214a9325839 -P a33179596f534067a58d68b77160f11ab13272b29f912d7cbe15ea00bbf03ade -R 23bb18e29d815650d0a53ab5e0119122 ++P 6674814afb9e763e7f7060776586e26da28040b3208ce06c8a285dd647e5a53d 8424492eac506866d2918e5fe03c8f65fef960215d56012a3b52ed42789ed35a ++R 645ee5368137c061c8ff554b7c3cb973 ++T +closed 8424492eac506866d2918e5fe03c8f65fef960215d56012a3b52ed42789ed35a + U drh -Z 17cedac15c0a75bf83e81927ffcddf58 ++Z f125bc7c2e400862ed032d286e9e90a2 diff --cc manifest.uuid index 4e8c369818,eeb0aa3465..46b6c41181 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 6674814afb9e763e7f7060776586e26da28040b3208ce06c8a285dd647e5a53d -8424492eac506866d2918e5fe03c8f65fef960215d56012a3b52ed42789ed35a ++47cbb471d056c8e1834a5ca72491404a3bfb273b5ff7bdd84b98d263938ea874