]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improvements to distinct aggregates such that they can sometimes avoid
authordrh <>
Wed, 24 Mar 2021 17:28:11 +0000 (17:28 +0000)
committerdrh <>
Wed, 24 Mar 2021 17:28:11 +0000 (17:28 +0000)
using an ephermeral table to test for duplicates if the column that is
distinct is part of an index.

FossilOrigin-Name: ef4ac0ddd297bbd38351410c5a387e1628561b3f1bec9e4c2c9d76fbe29f955a

1  2 
manifest
manifest.uuid
src/select.c
src/sqliteInt.h

diff --cc manifest
index f403c64a13380ebf6536fbfb9c777b1775ea9ecf,5340b580e3963c0976e380a7402d3e0ee2d4c45d..d4587fd8b374e3a25b08aaef33608f797ea93941
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\sa\sharmless\scompiler\swarning.
- D 2021-03-24T17:04:32.761
 -C Fix\sa\smemory\sleak\sin\sthe\snew\scode\son\sthis\sbranch.
 -D 2021-03-13T18:23:30.834
++C Improvements\sto\sdistinct\saggregates\ssuch\sthat\sthey\scan\ssometimes\savoid\nusing\san\sephermeral\stable\sto\stest\sfor\sduplicates\sif\sthe\scolumn\sthat\sis\ndistinct\sis\spart\sof\san\sindex.
++D 2021-03-24T17:28:11.642
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -542,12 -542,12 +542,12 @@@ F src/printf.c 78fabb49b9ac9a12dd1c89d7
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
  F src/resolve.c d95db73d3e6a5c689e5f6604b4d2521350e45f2a0f0f84f5a2dc2bfee56580a0
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c fe0a11d7cf2eddd58cf6fc5f65a5faac1eb430102a3f00092673a499bfd4a50e
 -F src/select.c 1a436834b6f8a3db9bafdca72f19d44b0b5a531e52e1394992fe3da009de8c7c
 -F src/shell.c.in 35adf1212d759069b00e468a9304a05a67710c8f8f50e7312335e23cac985d8c
++F src/select.c 9109ca4a3179eb46770e10c04f01fd226751ccf0caeea8db58000e3371f9fa21
 +F src/shell.c.in dcce260883836c9b58847505fbccce8d5546af925046f7dacd9443e922ece036
  F src/sqlite.h.in 3426a080ea1f222a73e3bd91e7eacbd30570a0117c03d42c6dde606f33e5e318
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 61b38c073d5e1e96a3d45271b257aef27d0d13da2bea5347692ae579475cd95e
- F src/sqliteInt.h 0f6446f61254d21a398900b888f0fe30179b24f87dde42acf94e767a99888c0b
 -F src/sqliteInt.h d10a181d069075fe335f5965829b498d17d66ea4afb2c0a04dea5633a62fdf79
++F src/sqliteInt.h 87bb2f645fcd6f2b7dbf41f85777d3c24a4b08e73c7153741cdd0481e9ab213d
  F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
  F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@@ -629,9 -629,9 +629,9 @@@ F src/vxworks.h d2988f4e5a61a4dfe82c652
  F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14
  F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
  F src/walker.c d42d6c80ea363ef689a462e65eefcfe87deab924c50de5baa37ecb6af7d7ddaa
- F src/where.c 10d06b16670a1d2a992d52a9f08e49426d38a08fb0a7ae5f7f62fd023d560e1e
+ F src/where.c 07d1232df6fc4705815b0ef5182fe3e56bdba6ac09ce52bd66ecb207626aac2b
  F src/whereInt.h 446e5e8018f83358ef917cf32d8e6a86dc8430113d0b17e720f1839d3faa44c4
 -F src/wherecode.c e57a8690311a75d06e723e8d379f9831de04aba300e07174d236e32a7f9c7a13
 +F src/wherecode.c c7354c9749f015f37bc32e15a4257a5155fa5d2b79f605f528bd09f3b9f1b4e6
  F src/whereexpr.c 53452fe2fb07be2f4cb17f55cc721416fae0092c00717f106faf289c990b6494
  F src/window.c 7e89ac4b6cd6bb9b7772234a625d19c39b530f4ac06e43688a8b7e6a1ab512a2
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
@@@ -1911,7 -1910,7 +1911,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 4719fae6262aa3563f3df6aca0170c6d847bb18ab7b0e6e7609a0e7b6f0c6b1b
- R 093f7ddcde844a1b0a09d85353c82d32
 -P 01312a3dbd92823af535dc618c68d95a2aa1cbee2501b0a9826eae3f09bec760
 -R 58cc435e024217b2ab7db85c0988b918
 -U dan
 -Z 17a70b170153158b9e1985af59afd0f7
++P 26b005a95e4f3e378e3bc40f57321ffbab72b6fc990d13b56b3121990d325f63 0817cf2ec08fdefd3c1d41790df7b5d6d490767757b44bb0229694023c8e40fc
++R 299a3406efa01e76d5f6f5a54ae9efc6
++T +closed 0817cf2ec08fdefd3c1d41790df7b5d6d490767757b44bb0229694023c8e40fc
 +U drh
- Z ca39b787d3eb107a70be25725e1e0c65
++Z 8f54305fe91515917058141910a21763
diff --cc manifest.uuid
index c4b5bce92483b252eae3715eb58998f7d919a3d2,90583e1fd56353f8bd882dd2381a1a48b22d15a0..f3b8f4366208cf2a6164934c3b7d4e0aab0cf51b
@@@ -1,1 -1,1 +1,1 @@@
- 26b005a95e4f3e378e3bc40f57321ffbab72b6fc990d13b56b3121990d325f63
 -0817cf2ec08fdefd3c1d41790df7b5d6d490767757b44bb0229694023c8e40fc
++ef4ac0ddd297bbd38351410c5a387e1628561b3f1bec9e4c2c9d76fbe29f955a
diff --cc src/select.c
Simple merge
diff --cc src/sqliteInt.h
Simple merge