11 KiB
11 KiB
Summary
**No review yet**Minimized query
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (json_valid(CAST(2147483646 AS DECIMAL(10,5)), 6), 'Wernher', 10, 100);
INSERT INTO t1 VALUES (2, 'von', 20, 200);
INSERT INTO t1 VALUES (3, 'Braun', 30, 300);
CREATE INDEX t1bc ON t1(b, c);
PRAGMA writable_schema == ON;
.imposter t1bc t2
SELECT * FROM t2;
SELECT b, c FROM t1 ORDER BY b, c;
.quit
SAVEPOINT sp2043;
.progress CAST(9999 AS CLOB)
CREATE TABLE t1(a,b);
INSERT INTO t1 VALUES(123,'abc'),(234,'def'),(234,'ghi'),(345,'jkl');
CREATE TABLE t2(x,y);
INSERT INTO t2 VALUES(987,'zyx'),(654,'wvu'),(987,'rqp');
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=987 ORDER BY +b;
SELECT *, '|' FROM t1, t2 WHERE a=234 AND x=555;
SELECT *, '|' FROM t1 LEFT JOIN t2 ON a=234 AND x=555;
WITH cte AS (SELECT CASE WHEN x IS NULL THEN 0 ELSE x END AS val FROM t2) SELECT * FROM cte;
ROLLBACK TO sp2043;
RELEASE sp2043;
SELECT * FROM t1 AS a INNER JOIN t1 AS b ON a.rowid = b.rowid;
INSERT INTO t2 VALUES (NULL, NULL);
SELECT * FROM t1 AS a INNER JOIN t2 AS b ON a.rowid = b.rowid;
PRAGMA hard_heap_limit = 50000000;
REINDEX t2;
CREATE TRIGGER IF NOT EXISTS trg_t1_2854 AFTER UPDATE ON t1 BEGIN SELECT RAISE(ABORT, 'abort'); END;
ALTER TABLE t2 DROP COLUMN x;
ALTER TABLE t2 ADD COLUMN extra_1063 SMALLINT DEFAULT (random());
Actual output
CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
WARNING: writing to an imposter table will corrupt the "t1bc" index!
Braun|30|3
von|20|2
Braun|30
von|20
Expectation
Flag