mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Further tests for the special null-handling on this branch.
FossilOrigin-Name: 0dbbb51f4d39cafb01d625d65c12dcb232a9c1da7ed5a9397bf55cfea1b980d2
This commit is contained in:
@ -201,6 +201,42 @@ do_eqp_test 5.5 {
|
||||
`--SEARCH TABLE t4 USING INDEX t4ab (a=?)
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
do_execsql_test 6.0 {
|
||||
CREATE TABLE t5(a, b, c);
|
||||
WITH s(i) AS (
|
||||
VALUES(1) UNION ALL SELECT i+1 FROM s WHERE i<200
|
||||
)
|
||||
INSERT INTO t5 SELECT i%2, CASE WHEN (i%10)==0 THEN NULL ELSE i END, i FROM s;
|
||||
}
|
||||
|
||||
set res1 [db eval { SELECT a,b FROM t5 WHERE a=1 ORDER BY b NULLS LAST, c }]
|
||||
set res2 [db eval {
|
||||
SELECT a,b FROM t5 WHERE a=1 ORDER BY b DESC NULLS FIRST, c DESC
|
||||
}]
|
||||
|
||||
do_execsql_test 6.1.1 {
|
||||
CREATE INDEX t5ab ON t5(a, b, c);
|
||||
SELECT a,b FROM t5 WHERE a=1 ORDER BY b NULLS LAST, c;
|
||||
} $res1
|
||||
do_eqp_test 6.1.2 {
|
||||
SELECT a,b FROM t5 WHERE a=1 ORDER BY b NULLS LAST, c;
|
||||
} {
|
||||
QUERY PLAN
|
||||
`--SEARCH TABLE t5 USING COVERING INDEX t5ab (a=?)
|
||||
}
|
||||
do_execsql_test 6.2.1 {
|
||||
SELECT a,b FROM t5 WHERE a=1 ORDER BY b DESC NULLS FIRST, c DESC
|
||||
} $res2
|
||||
do_eqp_test 6.2.2 {
|
||||
SELECT a,b FROM t5 WHERE a=1 ORDER BY b DESC NULLS FIRST, c DESC
|
||||
} {
|
||||
QUERY PLAN
|
||||
`--SEARCH TABLE t5 USING COVERING INDEX t5ab (a=?)
|
||||
}
|
||||
|
||||
|
||||
finish_test
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user