]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Move terms of the HAVING clause that reference only columns in the GROUP BY
authordrh <drh@noemail.net>
Tue, 2 May 2017 16:55:07 +0000 (16:55 +0000)
committerdrh <drh@noemail.net>
Tue, 2 May 2017 16:55:07 +0000 (16:55 +0000)
clause over to the WHERE clause, resulting in a faster query plan.

FossilOrigin-Name: 47cbb471d056c8e1834a5ca72491404a3bfb273b5ff7bdd84b98d263938ea874

1  2 
manifest
manifest.uuid
src/select.c

diff --cc manifest
index 34f024e720cfb4b254b5798b717d2519d7c709f6,0421bd0099e8e82f4abec1fa4963a74df1201e2b..36affcf4252288d936226ef748ecbabe9d897aa1
+++ 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 4e8c369818d849c774a14eca24f3653c5e988b09,eeb0aa346582422e4a012229600d06dd8956fa29..46b6c41181403c766eef84d5f19d92ea5cddcccc
@@@ -1,1 -1,1 +1,1 @@@
- 6674814afb9e763e7f7060776586e26da28040b3208ce06c8a285dd647e5a53d
 -8424492eac506866d2918e5fe03c8f65fef960215d56012a3b52ed42789ed35a
++47cbb471d056c8e1834a5ca72491404a3bfb273b5ff7bdd84b98d263938ea874
diff --cc src/select.c
Simple merge