| 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
|
|
|