Index: third_party/sqlite/src/test/select4.test |
diff --git a/third_party/sqlite/src/test/select4.test b/third_party/sqlite/src/test/select4.test |
index dff0b90fee01e363f2d56ec099ceda73a4a65e87..8fc200d43468c1b8dd83278b063bc8ffb7f55b8c 100644 |
--- a/third_party/sqlite/src/test/select4.test |
+++ b/third_party/sqlite/src/test/select4.test |
@@ -805,4 +805,59 @@ do_test select4-12.1 { |
} ;# ifcapable compound |
+ |
+# Ticket [3557ad65a076c] - Incorrect DISTINCT processing with an |
+# indexed query using IN. |
+# |
+do_test select4-13.1 { |
+ sqlite3 db test.db |
+ db eval { |
+ CREATE TABLE t13(a,b); |
+ INSERT INTO t13 VALUES(1,1); |
+ INSERT INTO t13 VALUES(2,1); |
+ INSERT INTO t13 VALUES(3,1); |
+ INSERT INTO t13 VALUES(2,2); |
+ INSERT INTO t13 VALUES(3,2); |
+ INSERT INTO t13 VALUES(4,2); |
+ CREATE INDEX t13ab ON t13(a,b); |
+ SELECT DISTINCT b from t13 WHERE a IN (1,2,3); |
+ } |
+} {1 2} |
+ |
+# 2014-02-18: Make sure compound SELECTs work with VALUES clauses |
+# |
+do_execsql_test select4-14.1 { |
+ CREATE TABLE t14(a,b,c); |
+ INSERT INTO t14 VALUES(1,2,3),(4,5,6); |
+ SELECT * FROM t14 INTERSECT VALUES(3,2,1),(2,3,1),(1,2,3),(2,1,3); |
+} {1 2 3} |
+do_execsql_test select4-14.2 { |
+ SELECT * FROM t14 INTERSECT VALUES(1,2,3); |
+} {1 2 3} |
+do_execsql_test select4-14.3 { |
+ SELECT * FROM t14 |
+ UNION VALUES(3,2,1),(2,3,1),(1,2,3),(7,8,9),(4,5,6) |
+ UNION SELECT * FROM t14 ORDER BY 1, 2, 3 |
+} {1 2 3 2 3 1 3 2 1 4 5 6 7 8 9} |
+do_execsql_test select4-14.4 { |
+ SELECT * FROM t14 |
+ UNION VALUES(3,2,1) |
+ UNION SELECT * FROM t14 ORDER BY 1, 2, 3 |
+} {1 2 3 3 2 1 4 5 6} |
+do_execsql_test select4-14.5 { |
+ SELECT * FROM t14 EXCEPT VALUES(3,2,1),(2,3,1),(1,2,3),(2,1,3); |
+} {4 5 6} |
+do_execsql_test select4-14.6 { |
+ SELECT * FROM t14 EXCEPT VALUES(1,2,3) |
+} {4 5 6} |
+do_execsql_test select4-14.7 { |
+ SELECT * FROM t14 EXCEPT VALUES(1,2,3) EXCEPT VALUES(4,5,6) |
+} {} |
+do_execsql_test select4-14.8 { |
+ SELECT * FROM t14 EXCEPT VALUES('a','b','c') EXCEPT VALUES(4,5,6) |
+} {1 2 3} |
+do_execsql_test select4-14.9 { |
+ SELECT * FROM t14 UNION ALL VALUES(3,2,1),(2,3,1),(1,2,3),(2,1,3); |
+} {1 2 3 4 5 6 3 2 1 2 3 1 1 2 3 2 1 3} |
+ |
finish_test |