diff options
author | drh <> | 2025-01-18 21:19:02 +0000 |
---|---|---|
committer | drh <> | 2025-01-18 21:19:02 +0000 |
commit | 0f4de9bf9deabc2246fc9f076c22e83322a339b0 (patch) | |
tree | bceb6ce931b82248c505d81f5d007d4a541beab5 /test | |
parent | 50c44200300f77e5415e8fe8c3475d53830a9ff2 (diff) | |
download | sqlite-0f4de9bf9deabc2246fc9f076c22e83322a339b0.tar.gz sqlite-0f4de9bf9deabc2246fc9f076c22e83322a339b0.zip |
Add a simple test case (many more are coming soon to TH3). Fix an obsolete
assert().
FossilOrigin-Name: aa829a131a3431791083cf60d9cf00e7b3c0fafdd39a23e761b629a2287ab875
Diffstat (limited to 'test')
-rw-r--r-- | test/autoindex1.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/autoindex1.test b/test/autoindex1.test index b294a2721..1c8ce007f 100644 --- a/test/autoindex1.test +++ b/test/autoindex1.test @@ -563,4 +563,32 @@ do_execsql_test autoindex-1120 { SELECT * FROM t1 LEFT JOIN t2 ON (t2.c=+t1.a) LEFT JOIN t3 ON (t2.d IS NULL); } {1 1 1 2 {} {}} +# 2025-01-18 +# Added support for automatic indexes on WITHOUT ROWID tables. +# +reset_db +do_execsql_test autoindex-1200 { + CREATE TABLE t1(a INT, b INT, x INT, PRIMARY KEY(a,b)) WITHOUT ROWID; + INSERT INTO t1 VALUES(1,2,90),(1,3,91),(1,4,92); + CREATE TABLE t2a(c INTEGER PRIMARY KEY, i1 INT); + CREATE TABLE t2b(i1 INTEGER PRIMARY KEY, d INT); + CREATE VIEW t2(c,d) AS SELECT c, d FROM t2a NATURAL JOIN t2b; + INSERT INTO t2a VALUES(3,93),(4,94),(5,95),(6,96),(7,97); + INSERT INTO t2b VALUES(91,11),(92,22),(93,33),(94,44),(95,55); + CREATE TABLE dual(dummy TEXT); + INSERT INTO dual(dummy) VALUES('x'); +} +db null NULL +do_execsql_test autoindex-1210 { + SELECT t1.*, t2.* FROM t2 LEFT OUTER JOIN t1 ON b=c ORDER BY +b; +} { + NULL NULL NULL 5 55 + 1 3 91 3 33 + 1 4 92 4 44 +} +do_execsql_test autoindex-1211 { + EXPLAIN QUERY PLAN + SELECT t1.*, t2.* FROM t2 LEFT OUTER JOIN t1 ON b=c ORDER BY +b; +} {/SEARCH t1 USING AUTOMATIC COVERING INDEX/} + finish_test |