1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Change an assert() in where.c to a testcase() macro, since the condition may be false. This was a problem with the assert() only, there is no bug in release builds that omit assert().

FossilOrigin-Name: 82be135dee7ccfde5f8a67f3621b7ced449dce89bae9cadf025154a4de848c11
This commit is contained in:
dan
2019-12-28 18:08:39 +00:00
parent a4b2df5ce2
commit 4adb1d0000
4 changed files with 53 additions and 10 deletions

View File

@ -255,4 +255,47 @@ do_catchsql_test 8.0 {
CREATE TABLE t80(a, b INTEGER, PRIMARY KEY(b NULLS LAST)) WITHOUT ROWID;
} {1 {unsupported use of NULLS LAST}}
#-------------------------------------------------------------------------
reset_db
do_execsql_test 9.0 {
CREATE TABLE v0 (c1, c2, c3);
CREATE INDEX v3 ON v0 (c1, c2, c3);
}
do_execsql_test 9.1 {
ANALYZE sqlite_master;
INSERT INTO sqlite_stat1 VALUES('v0','v3','648 324 81');
ANALYZE sqlite_master;
}
do_execsql_test 9.2 {
INSERT INTO v0 VALUES
(1, 10, 'b'),
(1, 10, 'd'),
(1, 10, NULL),
(2, 10, 'a'),
(2, 10, NULL),
(1, 10, 'c'),
(2, 10, 'b'),
(1, 10, 'a'),
(1, 10, NULL),
(2, 10, NULL),
(2, 10, 'd'),
(2, 10, 'c');
}
do_execsql_test 9.3 {
SELECT c1, c2, ifnull(c3, 'NULL') FROM v0
WHERE c2=10 ORDER BY c1, c3 NULLS LAST
} {
1 10 a 1 10 b 1 10 c 1 10 d 1 10 NULL 1 10 NULL
2 10 a 2 10 b 2 10 c 2 10 d 2 10 NULL 2 10 NULL
}
do_eqp_test 9.4 {
SELECT c1, c2, ifnull(c3, 'NULL') FROM v0
WHERE c2=10 ORDER BY c1, c3 NULLS LAST
} {SEARCH TABLE v0 USING COVERING INDEX v3 (ANY(c1) AND c2=?)}
finish_test