Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: third_party/sqlite/src/test/where8.test

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/src/test/where7.test ('k') | third_party/sqlite/src/test/where9.test » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/src/test/where8.test
diff --git a/third_party/sqlite/src/test/where8.test b/third_party/sqlite/src/test/where8.test
index a7d5edb3fd4ddea0fd2b490b3babfba0a7c4b7d0..139251aa0729fca54adb348248ae451cb2190dd8 100644
--- a/third_party/sqlite/src/test/where8.test
+++ b/third_party/sqlite/src/test/where8.test
@@ -12,7 +12,6 @@
# is testing of where.c. More specifically, the focus is the optimization
# of WHERE clauses that feature the OR operator.
#
-# $Id: where8.test,v 1.9 2009/07/31 06:14:52 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -88,13 +87,13 @@ do_test where8-1.8 {
do_test where8-1.9 {
execsql_status2 { SELECT c FROM t1 WHERE a >= 9 OR b <= 'eight' }
-} {IX X VIII 0 0 6}
+} {IX X VIII 0 0 7}
do_test where8-1.10 {
execsql_status2 {
SELECT c FROM t1 WHERE (a >= 9 AND c != 'X') OR b <= 'eight'
}
-} {IX VIII 0 0 6}
+} {IX VIII 0 0 7}
do_test where8-1.11 {
execsql_status2 {
@@ -211,9 +210,10 @@ do_test where8-3.4 {
do_test where8-3.5 {
execsql_status {
- SELECT a, d FROM t1, t2 WHERE (a = 2 OR a = 3) AND (d = a OR e = 'sixteen')
+ SELECT a, d FROM t1, t2 WHERE (a = 2 OR a = 3) AND (d = +a OR e = 'sixteen')
+ ORDER BY +a, +d;
}
-} {2 2 2 4 3 3 3 4 0 0}
+} {2 2 2 4 3 3 3 4 0 1}
do_test where8-3.6 {
# The first part of the WHERE clause in this query, (a=2 OR a=3) is
@@ -222,7 +222,7 @@ do_test where8-3.6 {
execsql_status {
SELECT a, d
FROM t1, t2
- WHERE (a = 2 OR a = 3) AND (d = a OR e = 'sixteen')
+ WHERE (a = 2 OR a = 3) AND (d = +a OR e = 'sixteen')
ORDER BY t1.rowid
}
} {2 2 2 4 3 3 3 4 0 1}
@@ -233,7 +233,7 @@ do_test where8-3.7 {
WHERE a = 2 AND (d = a OR e = 'sixteen')
ORDER BY t1.rowid
}
-} {2 2 2 4 0 0}
+} {/2 2 2 4 0 [01]/}
do_test where8-3.8 {
execsql_status {
SELECT a, d
@@ -268,7 +268,7 @@ do_test where8-3.12 {
execsql_status {
SELECT a, d FROM t1, t2 WHERE (a=d OR b=e) AND +a<5 ORDER BY a
}
-} {1 1 2 2 3 3 4 2 4 4 0 0}
+} {1 1 2 2 3 3 4 2 4 4 9 0}
do_test where8-3.13 {
execsql_status {
SELECT a, d FROM t1, t2 WHERE (a=d OR b=e) AND +a<5
@@ -290,6 +290,38 @@ do_test where8-3.15 {
}
} {I I I I I I I I I I II II II II II II II II II II III III III III III 9 1}
+
+do_test where8-3.21 {
+ execsql_status {
+ SELECT a, d FROM t1, (t2) WHERE (a=d OR b=e) AND a<5 ORDER BY a
+ }
+} {1 1 2 2 3 3 4 2 4 4 0 0}
+do_test where8-3.21.1 {
+ execsql_status {
+ SELECT a, d FROM t1, ((t2)) AS t3 WHERE (a=d OR b=e) AND a<5 ORDER BY a
+ }
+} {1 1 2 2 3 3 4 2 4 4 0 0}
+if {[permutation] != "no_optimization"} {
+do_test where8-3.21.2 {
+ execsql_status {
+ SELECT a, d FROM t1, ((SELECT * FROM t2)) AS t3 WHERE (a=d OR b=e) AND a<5 ORDER BY a
+ }
+} {1 1 2 2 3 3 4 2 4 4 0 0}
+}
+do_test where8-3.22 {
+ execsql_status {
+ SELECT a, d FROM ((((((t1))), (((t2))))))
+ WHERE (a=d OR b=e) AND a<5 ORDER BY a
+ }
+} {1 1 2 2 3 3 4 2 4 4 0 0}
+if {[permutation] != "no_optimization"} {
+do_test where8-3.23 {
+ execsql_status {
+ SELECT * FROM ((SELECT * FROM t2)) AS t3;
+ }
+} {1 {} I 2 four IV 3 {} IX 4 sixteen XVI 5 {} XXV 6 thirtysix XXXVI 7 fortynine XLIX 8 sixtyeight LXIV 9 eightyone LXXXIX 10 {} C 9 0}
+}
+
#-----------------------------------------------------------------------
# The following tests - where8-4.* - verify that adding or removing
# indexes does not change the results returned by various queries.
@@ -716,4 +748,13 @@ do_test where8-5.3 {
}
} {1 {}}
+# The OR optimization and WITHOUT ROWID
+#
+do_execsql_test where8-6.1 {
+ CREATE TABLE t600(a PRIMARY KEY, b) WITHOUT rowid;
+ CREATE INDEX t600b ON t600(b);
+ INSERT INTO t600 VALUES('state','screen'),('exact','dolphin'),('green','mercury');
+ SELECT a, b, '|' FROM t600 WHERE a=='state' OR b='mercury' ORDER BY +a;
+} {green mercury | state screen |}
+
finish_test
« no previous file with comments | « third_party/sqlite/src/test/where7.test ('k') | third_party/sqlite/src/test/where9.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698