]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure affinity is applied correctly on lower-bound range constraints
authordrh <drh@noemail.net>
Tue, 26 Jul 2016 04:23:55 +0000 (04:23 +0000)
committerdrh <drh@noemail.net>
Tue, 26 Jul 2016 04:23:55 +0000 (04:23 +0000)
in the min() optimization.  Fix for ticket [a0bac8b3c3d1bb].

FossilOrigin-Name: 0e9f534fef72ca142a4296ab5285c82aada38ba7

manifest
manifest.uuid
src/wherecode.c
test/minmax.test

index b6e936fdb397feff88ed5d44d523e029f279f126..a791d39a2912345610dac775d9efee1f03f72215 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\sthe\sVACCUM\scache_size\sadjustment\sfrom\strunk.
-D 2016-07-25T22:46:06.502
+C Make\ssure\saffinity\sis\sapplied\scorrectly\son\slower-bound\srange\sconstraints\nin\sthe\smin()\soptimization.\s\sFix\sfor\sticket\s[a0bac8b3c3d1bb].
+D 2016-07-26T04:23:55.718
 F Makefile.in 7ac1f34182d307765c6439c899bd3dac2af587bf
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a
@@ -469,7 +469,7 @@ F src/wal.h f38853cd771ff42f448de4f908238f2e2966ac8f
 F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
 F src/where.c 48eed8ebe319c6cbc7bf7682018f32af0f5189f5
 F src/whereInt.h e5b939701a7ceffc5a3a8188a37f9746416ebcd0
-F src/wherecode.c 11e38f5e2dc5c007143fbf7fdb14bca40a6b74ad
+F src/wherecode.c 99707d11907c71d289ee9553d2d1a22f1fd8ba41
 F src/whereexpr.c d7dcbf14ce1b5876c1f76496162c30fcba669563
 F test/8_3_names.test 05034aadccd2253ffe6cbefb06662b8aa4600f77
 F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
@@ -934,7 +934,7 @@ F test/memdb.test c46019291625650d71416e770f6a54a281a1a98f
 F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
 F test/memsubsys1.test b6037a276f95c88d029868b12c80ff08dbb78700
 F test/memsubsys2.test 3e4a8d0c05fd3e5fa92017c64666730a520c7e08
-F test/minmax.test 42fbad0e81afaa6e0de41c960329f2b2c3526efd
+F test/minmax.test 6751e87b409fe11b02e70a306d846fa544e25a41
 F test/minmax2.test b44bae787fc7b227597b01b0ca5575c7cb54d3bc
 F test/minmax3.test cc1e8b010136db0d01a6f2a29ba5a9f321034354
 F test/minmax4.test 936941484ebdceb8adec7c86b6cd9b6e5e897c1f
@@ -1512,7 +1512,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 68ecd8e042bd14b8ede69219bd4ed175bf097d0b b78d99548ac53ac10dcc38368cc4b29c8cbcb09b
-R 1a957c8832276cfb650f46ccb586c265
+P cdb7efd01ed7a8f11681b277098bb3eb12ca39d2
+R 74ba2d4546e92d4ce22c44593dc8a39b
 U drh
-Z 806e92a20bb0c43bddc31146ba8412fd
+Z 23277ec96e3d0ab95dacb520e2474cff
index 2e19bb149e55a83e2b6f30b39e7ee73098f2ff86..c0fdbc599c279403f5850cfa38995fd371b07e3a 100644 (file)
@@ -1 +1 @@
-cdb7efd01ed7a8f11681b277098bb3eb12ca39d2
\ No newline at end of file
+0e9f534fef72ca142a4296ab5285c82aada38ba7
\ No newline at end of file
index 0b307761be6b93608d970cf6b219d9c815b27538..d78982f5b57f064f4696308a4fadec15d7c487c4 100644 (file)
@@ -1319,6 +1319,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
       }  
       nConstraint++;
       testcase( pRangeStart->wtFlags & TERM_VIRTUAL );
+      bSeekPastNull = 0;
     }else if( bSeekPastNull ){
       sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq);
       nConstraint++;
index fb9bbb383a74e2427a35fe7ee221ba151626a35d..04a3f06dff07ac2bbaa6b5a41cdd96830d17a173 100644 (file)
@@ -628,5 +628,19 @@ do_test_13_noopt 13.7 {
   SELECT min(c), count(c) FROM t1 WHERE a='a';
 } {1 5}
 
+# 2016-07-26.  https://www.sqlite.org/src/info/a0bac8b3c3d1bb75
+# Incorrect result on a min() query after a CREATE INDEX.
+#
+do_execsql_test 14.1 {
+  CREATE TABLE t14(a INTEGER, b INTEGER);
+  INSERT INTO t14(a,b) VALUES(100,2),(200,2),(300,2),(400,1),(500,2);
+  SELECT min(a) FROM t14 WHERE b='2' AND a>'50';
+} {100}
+do_execsql_test 14.2 {
+  CREATE INDEX t14ba ON t14(b,a);
+  SELECT min(a) FROM t14 WHERE b='2' AND a>'50';
+} {100}
+
+
 
 finish_test