From 8fea5f3b97395b5d404e9c35ccae06f2fbc43e5e Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 24 Aug 2012 17:52:54 +0000 Subject: [PATCH] More test cases for OR-optimization covering indices. FossilOrigin-Name: e5c3190c27b69dc50f348c849a81b79031b2fb67 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/whereD.test | 42 +++++++++++++++++++++++++++++++++--------- 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/manifest b/manifest index d50c519f35..bd45eba640 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Additional\stest\scases\sfor\sOR-optimization\swith\scovering\sindices,\sincluding\none\stest\scase\sthat\scurrently\sfails. -D 2012-08-24T15:29:03.804 +C More\stest\scases\sfor\sOR-optimization\scovering\sindices. +D 2012-08-24T17:52:54.133 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in abd5c10d21d1395f140d9e50ea999df8fa4d6376 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -965,7 +965,7 @@ F test/where9.test ae98dc22ef9b6f2bc81e9f164e41b38faa9bda06 F test/whereA.test 24c234263c8fe358f079d5e57d884fb569d2da0a F test/whereB.test 0def95db3bdec220a731c7e4bec5930327c1d8c5 F test/whereC.test 13ff5ec0dba407c0e0c075980c75b3275a6774e5 -F test/whereD.test 1aee8a7b3a0674d8d0119d764e069225ce426406 +F test/whereD.test 1322fdcfbcc5e6eb6bb3b5d69930e231da388cc6 F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31 F test/win32lock.test b2a539e85ae6b2d78475e016a9636b4451dc7fb9 F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688 @@ -1013,7 +1013,7 @@ F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9 -P 1dc8c7c741a82bb98a07f3fdb8142d8bc8d8a98b -R 0de9e52cb560b3160307382415072714 +P d8b7ab37120ac20e60b6a600cd0e5b34a09cf97a +R 1216a31c3d13954b6b3320ccc0d31427 U drh -Z f74e9ea8f0417bf70ede532a4ecba542 +Z 34330edabbd56fc5c7c7902f48b24346 diff --git a/manifest.uuid b/manifest.uuid index 590ba48360..cc0fb09dfe 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d8b7ab37120ac20e60b6a600cd0e5b34a09cf97a \ No newline at end of file +e5c3190c27b69dc50f348c849a81b79031b2fb67 \ No newline at end of file diff --git a/test/whereD.test b/test/whereD.test index 3098b1acfd..e9269232a4 100644 --- a/test/whereD.test +++ b/test/whereD.test @@ -23,33 +23,57 @@ do_execsql_test 1.1 { CREATE INDEX ijk ON t(i,j,k); CREATE INDEX jmn ON t(j,m,n); - INSERT INTO t VALUES(3, 3, 'three', 3, 3); - INSERT INTO t VALUES(2, 2, 'two', 2, 2); - INSERT INTO t VALUES(1, 1, 'one', 1, 1); - INSERT INTO t VALUES(4, 4, 'four', 4, 4); + INSERT INTO t VALUES(3, 3, 'three', 3, 'tres'); + INSERT INTO t VALUES(2, 2, 'two', 2, 'dos'); + INSERT INTO t VALUES(1, 1, 'one', 1, 'uno'); + INSERT INTO t VALUES(4, 4, 'four', 4, 'cuatro'); } do_execsql_test 1.2 { SELECT k FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2); } {one two} do_execsql_test 1.3 { + SELECT k FROM t WHERE (i=1 AND j=1) OR (+i=2 AND j=2); +} {one two} +do_execsql_test 1.4 { + SELECT n FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2); +} {uno dos} +do_execsql_test 1.5 { + SELECT k, n FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2); +} {one uno two dos} +do_execsql_test 1.6 { SELECT k FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2) OR (i=3 AND j=3); } {one two three} -do_execsql_test 1.4 { +do_execsql_test 1.7 { + SELECT n FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2) OR (i=3 AND j=3); +} {uno dos tres} +do_execsql_test 1.8 { SELECT k FROM t WHERE (i=1 AND j=1) OR (j=2 AND m=2); } {one two} -do_execsql_test 1.5 { +do_execsql_test 1.9 { SELECT k FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2) OR (j=3 AND m=3); } {one two three} -do_execsql_test 1.6 { +do_execsql_test 1.10 { + SELECT n FROM t WHERE (i=1 AND j=1) OR (i=2 AND j=2) OR (j=3 AND m=3); +} {uno dos tres} +do_execsql_test 1.11 { SELECT k FROM t WHERE (i=1 AND j=1) OR (j=2 AND m=2) OR (i=3 AND j=3); } {one two three} -do_execsql_test 1.7 { +do_execsql_test 1.12 { + SELECT n FROM t WHERE (i=1 AND j=1) OR (j=2 AND m=2) OR (i=3 AND j=3); +} {uno dos tres} +do_execsql_test 1.13 { SELECT k FROM t WHERE (j=1 AND m=1) OR (i=2 AND j=2) OR (i=3 AND j=3); } {one two three} -do_execsql_test 1.8 { +do_execsql_test 1.14 { SELECT k FROM t WHERE (i=1 AND j=1) OR (j=2 AND i=2) OR (i=3 AND j=3); } {one two three} +do_execsql_test 1.15 { + SELECT k FROM t WHERE (i=1 AND j=2) OR (i=2 AND j=1) OR (i=3 AND j=4); +} {} +do_execsql_test 1.16 { + SELECT k FROM t WHERE (i=1 AND (j=1 or j=2)) OR (i=3 AND j=3); +} {one three} do_execsql_test 2.0 { CREATE TABLE t1(a,b,c,d); -- 2.47.2