mirror of https://github.com/sqlite/sqlite
In the skip-ahead-distinct optimization, fix a bug in the logic that determines
when to invoke the optimization based on sqlite_stat1 statistics. FossilOrigin-Name: 89f9e4363aa19f306e55f749c442eae2f8994f6a47c65e645a79b308b450d5e5
This commit is contained in:
commit
147fd88268
13
manifest
13
manifest
|
@ -1,5 +1,5 @@
|
|||
C Remove\send-of-line\swhitespace\sfrom\slemon.c.
|
||||
D 2017-04-14T19:46:12.138
|
||||
C In\sthe\sskip-ahead-distinct\soptimization,\sfix\sa\sbug\sin\sthe\slogic\sthat\sdetermines\nwhen\sto\sinvoke\sthe\soptimization\sbased\son\ssqlite_stat1\sstatistics.
|
||||
D 2017-04-15T11:53:47.342
|
||||
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc 6a8c838220f7c00820e1fc0ac1bccaaa8e5676067e1dbfa1bafa7a4ffecf8ae6
|
||||
|
@ -482,7 +482,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
|
|||
F src/wal.c 40c543f0a2195d1b0dc88ef12142bea690009344
|
||||
F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71
|
||||
F src/walker.c b71a992b413b3a022572eccf29ef4b4890223791
|
||||
F src/where.c 98388bf42ca2d23f4c227bd5cf24f15b43a83d2caac32ca8a75a4d04018a1f9b
|
||||
F src/where.c 10ae856aa4bcf7c6be39b6b53422fc94e713ab8a19383b4cf525bc05ae70d872
|
||||
F src/whereInt.h 2a4b634d63ce488b46d4b0da8f2eaa8f9aeab202bc25ef76f007de5e3fba1f20
|
||||
F src/wherecode.c 943e32e9dccd0af802e0683ae11071c8bd808364e5908a5fb66758bd404c8681
|
||||
F src/whereexpr.c e913aaa7b73ffcce66abcea5f197e2c538d48b5df78d0b7bba8ff4d73cc2e745
|
||||
|
@ -1572,7 +1572,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P a53799059d4ece246610b6c877ab7088ded3548cbca7149a03deea8ac0e27e68
|
||||
R e8b4051079bcc56bd29a4fddab0de3fd
|
||||
P d78355c85f49e139f1ac1a660563865350f0e442652b7bc50b684398f81cc602 e50fd48969f99bc988389c53ff46714603b1d11de12c71b55c00cbee037f073c
|
||||
R a0fc0755acaae22ae06336777dc36757
|
||||
T +closed e50fd48969f99bc988389c53ff46714603b1d11de12c71b55c00cbee037f073c
|
||||
U drh
|
||||
Z a46eec356673a6ddd2be83fdca8b716d
|
||||
Z 7aacb0cf945619cb618007e65cb171f4
|
||||
|
|
|
@ -1 +1 @@
|
|||
d78355c85f49e139f1ac1a660563865350f0e442652b7bc50b684398f81cc602
|
||||
89f9e4363aa19f306e55f749c442eae2f8994f6a47c65e645a79b308b450d5e5
|
|
@ -4858,7 +4858,8 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){
|
|||
if( pWInfo->eDistinct==WHERE_DISTINCT_ORDERED
|
||||
&& (pLoop->wsFlags & WHERE_INDEXED)!=0
|
||||
&& (pIdx = pLoop->u.btree.pIndex)->hasStat1
|
||||
&& pIdx->aiRowLogEst[(n = pLoop->u.btree.nIdxCol)-1]>=36
|
||||
&& (n = pLoop->u.btree.nIdxCol)>0
|
||||
&& pIdx->aiRowLogEst[n]>=36
|
||||
){
|
||||
int r1 = pParse->nMem+1;
|
||||
int j, op;
|
||||
|
|
Loading…
Reference in New Issue