mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
New test cases and minor fixes for the optimization on this branch.
FossilOrigin-Name: 70ac9ea1a6cb2f4906f00f1a04f668e5ba5eeed8d4d0fa4be57a9c9eb0683697
This commit is contained in:
@ -85,4 +85,60 @@ do_execsql_test 600 {
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
} {1 1}
|
||||
|
||||
do_execsql_test 700 {
|
||||
CREATE TABLE t7(a, b, c);
|
||||
WITH s(i) AS (
|
||||
SELECT 1 UNION ALL SELECT i+1 FROM s WHERE (i+1)<200
|
||||
)
|
||||
INSERT INTO t7 SELECT i/100, i/50, i FROM s;
|
||||
}
|
||||
do_execsql_test 710 {
|
||||
SELECT DISTINCT a, b FROM t7;
|
||||
} {
|
||||
0 0 0 1
|
||||
1 2 1 3
|
||||
}
|
||||
do_execsql_test 720 {
|
||||
SELECT DISTINCT a, b+1 FROM t7;
|
||||
} {
|
||||
0 1 0 2
|
||||
1 3 1 4
|
||||
}
|
||||
do_execsql_test 730 {
|
||||
CREATE INDEX i7 ON t7(a, b+1);
|
||||
ANALYZE;
|
||||
SELECT DISTINCT a, b+1 FROM t7;
|
||||
} {
|
||||
0 1 0 2
|
||||
1 3 1 4
|
||||
}
|
||||
|
||||
do_execsql_test 800 {
|
||||
CREATE TABLE t8(a, b, c);
|
||||
WITH s(i) AS (
|
||||
SELECT 1 UNION ALL SELECT i+1 FROM s WHERE (i+1)<100
|
||||
)
|
||||
INSERT INTO t8 SELECT i/40, i/20, i/40 FROM s;
|
||||
}
|
||||
|
||||
do_execsql_test 820 {
|
||||
SELECT DISTINCT a, b, c FROM t8;
|
||||
} {
|
||||
0 0 0 0 1 0
|
||||
1 2 1 1 3 1
|
||||
2 4 2
|
||||
}
|
||||
|
||||
do_execsql_test 820 {
|
||||
SELECT DISTINCT a, b, c FROM t8 WHERE b=3;
|
||||
} {1 3 1}
|
||||
|
||||
do_execsql_test 830 {
|
||||
CREATE INDEX i8 ON t8(a, c);
|
||||
ANALYZE;
|
||||
SELECT DISTINCT a, b, c FROM t8 WHERE b=3;
|
||||
} {1 3 1}
|
||||
|
||||
|
||||
finish_test
|
||||
|
||||
|
Reference in New Issue
Block a user