## Summary **No review yet** ## Minimized query ```sql .lint BEGIN EXCLUSIVE TRANSACTION; -- PRAGMA trusted_schema = 1; .system false && echo "success" || echo "error code: $?" CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', 2147483649, 'k2', 2147483649))), 0.0625)), '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 sp6237; CREATE TABLE T ( A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY, B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL, C BIGINT UNIQUE ); INSERT INTO T VALUES ('a', 'x', -9223372036854775808); INSERT INTO T VALUES ('b', 'y', -1000000); INSERT INTO T VALUES ('c', 'y', 0); INSERT INTO T VALUES ('d', 'y', 42); INSERT INTO T VALUES ('e', 'x', 9223372036854775807); INSERT INTO T VALUES ('f', 'z', 2147483648); SELECT * FROM T WHERE C > 0 ORDER BY C DESC; BEGIN EXCLUSIVE TRANSACTION; .timer off .schema PRAGMA foreign_keys = -CAST(-1 AS BIGINT); PRAGMA threads; PRAGMA foreign_keys = ON; .timeout -1 CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1)); INSERT INTO t0(c2) VALUES (NULL), (NULL); INSERT INTO t0(c2) VALUES('a'); SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0; SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0); SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0; SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0; SELECT * FROM (SELECT * FROM t0) AS sub; REINDEX; CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL; SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1); CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered; CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; INSERT OR FAIL INTO t0 VALUES (0, 0, ''); CREATE TABLE T1 ( A VARCHAR(20), X VARCHAR(10), PRIMARY KEY (A, X) ); CREATE TABLE T2 ( A VARCHAR(20), Y VARCHAR(10), PRIMARY KEY (A, Y) ); INSERT INTO T1 VALUES ('a', 'm'); INSERT INTO T1 VALUES ('b', 'n'); INSERT INTO T1 VALUES ('c', 'o'); INSERT INTO T2 VALUES ('b', 'k'); SELECT A FROM T1 EXCEPT SELECT A FROM T2; ROLLBACK; UPDATE t0 SET c1 = json_object('k', c1); SELECT * FROM t0; ROLLBACK TRANSACTION TO SAVEPOINT sp6237; RELEASE SAVEPOINT sp6237; INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL); WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi; END; CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0; ANALYZE; PRAGMA writable_schema = YES; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt; SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T)); DELETE FROM t1 WHERE 1; INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X; VACUUM main; INSERT INTO t1 SELECT * FROM t1; SELECT COUNT(*) FROM T; ANALYZE; CREATE TABLE T ( a INTEGER, b TEXT, c INTEGER ); INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2); WITH RECURSIVE d(a,b,c,e) AS ( SELECT *,1 FROM T WHERE c IS NULL UNION ALL SELECT T.a,T.b,T.c,d.e+1 FROM T JOIN d ON T.c=d.a ) SELECT * FROM d; SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1); SELECT * FROM t1; INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9); CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T; ALTER TABLE T1 RENAME TO T1_r1976; REINDEX; CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid; ALTER TABLE T ADD COLUMN extra_1665 DOUBLE; INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y; DROP VIEW IF EXISTS T1; INSERT INTO T VALUES (NULL, NULL, NULL); INSERT INTO T1 VALUES (NULL, NULL); CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (1, '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 INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2; .lint BEGIN EXCLUSIVE TRANSACTION; -- PRAGMA trusted_schema = 1; .system false && echo "success" || echo "error code: $?" CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', 2147483649, 'k2', 2147483649))), 0.0625)), '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 sp6237; CREATE TABLE T ( A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY, B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL, C BIGINT UNIQUE ); INSERT INTO T VALUES ('a', 'x', -9223372036854775808); INSERT INTO T VALUES ('b', 'y', -1000000); INSERT INTO T VALUES ('c', 'y', 0); INSERT INTO T VALUES ('d', 'y', 42); INSERT INTO T VALUES ('e', 'x', 9223372036854775807); INSERT INTO T VALUES ('f', 'z', 2147483648); SELECT * FROM T WHERE C > 0 ORDER BY C DESC; BEGIN EXCLUSIVE TRANSACTION; .timer off .schema PRAGMA foreign_keys = -CAST(-1 AS BIGINT); PRAGMA threads; PRAGMA foreign_keys = ON; .timeout -1 CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1)); INSERT INTO t0(c2) VALUES (NULL), (NULL); INSERT INTO t0(c2) VALUES('a'); SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0; SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0); SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0; SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0; SELECT * FROM (SELECT * FROM t0) AS sub; REINDEX; CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL; SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1); CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered; CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; INSERT OR FAIL INTO t0 VALUES (0, 0, ''); CREATE TABLE T1 ( A VARCHAR(20), X VARCHAR(10), PRIMARY KEY (A, X) ); CREATE TABLE T2 ( A VARCHAR(20), Y VARCHAR(10), PRIMARY KEY (A, Y) ); INSERT INTO T1 VALUES ('a', 'm'); INSERT INTO T1 VALUES ('b', 'n'); INSERT INTO T1 VALUES ('c', 'o'); INSERT INTO T2 VALUES ('b', 'k'); SELECT A FROM T1 EXCEPT SELECT A FROM T2; ROLLBACK; UPDATE t0 SET c1 = json_object('k', c1); SELECT * FROM t0; ROLLBACK TRANSACTION TO SAVEPOINT sp6237; RELEASE SAVEPOINT sp6237; INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL); WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi; END; CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0; ANALYZE; PRAGMA writable_schema = YES; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt; SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T)); DELETE FROM t1 WHERE 1; INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X; VACUUM main; INSERT INTO t1 SELECT * FROM t1; SELECT COUNT(*) FROM T; ANALYZE; CREATE TABLE T ( a INTEGER, b TEXT, c INTEGER ); INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2); WITH RECURSIVE d(a,b,c,e) AS ( SELECT *,1 FROM T WHERE c IS NULL UNION ALL SELECT T.a,T.b,T.c,d.e+1 FROM T JOIN d ON T.c=d.a ) SELECT * FROM d; SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1); SELECT * FROM t1; INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9); CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T; ALTER TABLE T1 RENAME TO T1_r1976; REINDEX; CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid; ALTER TABLE T ADD COLUMN extra_1665 DOUBLE; INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y; DROP VIEW IF EXISTS T1; INSERT INTO T VALUES (NULL, NULL, NULL); INSERT INTO T1 VALUES (NULL, NULL); CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (1, '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 INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2; .lint BEGIN EXCLUSIVE TRANSACTION; -- PRAGMA trusted_schema = 1; .system false && echo "success" || echo "error code: $?" CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (unixepoch(likelihood(-(-(-jsonb_object('k1', 2147483649, 'k2', 2147483649))), 0.0625)), '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 sp6237; CREATE TABLE T ( A VARCHAR(concat_ws('', 'a', 'b', 'c')) PRIMARY KEY, B VARCHAR(if(0,30,0,30,0,30,0,30,0,30,0,30,30)) NOT NULL, C BIGINT UNIQUE ); INSERT INTO T VALUES ('a', 'x', -9223372036854775808); INSERT INTO T VALUES ('b', 'y', -1000000); INSERT INTO T VALUES ('c', 'y', 0); INSERT INTO T VALUES ('d', 'y', 42); INSERT INTO T VALUES ('e', 'x', 9223372036854775807); INSERT INTO T VALUES ('f', 'z', 2147483648); SELECT * FROM T WHERE C > 0 ORDER BY C DESC; BEGIN EXCLUSIVE TRANSACTION; .timer off .schema PRAGMA foreign_keys = -CAST(-1 AS BIGINT); PRAGMA threads; PRAGMA foreign_keys = ON; .timeout -1 CREATE TABLE t0 (c0, c1 NOT NULL DEFAULT 1, c2, PRIMARY KEY (c0, c1)); INSERT INTO t0(c2) VALUES (NULL), (NULL); INSERT INTO t0(c2) VALUES('a'); SELECT DISTINCT * FROM t0 WHERE NULL IS t0.c0; SELECT * FROM t0 WHERE (( (0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0); SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ( (0 IS NOT FALSE) OR NOT (0 IS 0 OR (t0.c0 = 1)) ) IS 0 FROM t0; SELECT ((0 IS NOT FALSE) OR NOT (0 IS FALSE OR (t0.c0 = 1)) ) FROM t0; SELECT NOT (0 IS FALSE OR (t0.c0 = 1)) FROM t0; SELECT * FROM (SELECT * FROM t0) AS sub; REINDEX; CREATE INDEX IF NOT EXISTS idx_t0_6740 ON t0(c2 COLLATE NOCASE) WHERE c2 IS NOT NULL; SELECT * FROM t0 WHERE c1 = (SELECT c1 FROM t0 t2 WHERE t2.c1 = t0.c1 LIMIT 1); CREATE TRIGGER IF NOT EXISTS trg_t0_2041 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(FAIL, 'no'); END; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<37), filtered AS (SELECT * FROM cnt WHERE x > 18) SELECT * FROM filtered; CREATE TRIGGER IF NOT EXISTS trg_t0_1600 BEFORE INSERT ON t0 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; INSERT OR FAIL INTO t0 VALUES (0, 0, ''); CREATE TABLE T1 ( A VARCHAR(20), X VARCHAR(10), PRIMARY KEY (A, X) ); CREATE TABLE T2 ( A VARCHAR(20), Y VARCHAR(10), PRIMARY KEY (A, Y) ); INSERT INTO T1 VALUES ('a', 'm'); INSERT INTO T1 VALUES ('b', 'n'); INSERT INTO T1 VALUES ('c', 'o'); INSERT INTO T2 VALUES ('b', 'k'); SELECT A FROM T1 EXCEPT SELECT A FROM T2; ROLLBACK; UPDATE t0 SET c1 = json_object('k', c1); SELECT * FROM t0; ROLLBACK TRANSACTION TO SAVEPOINT sp6237; RELEASE SAVEPOINT sp6237; INSERT OR ABORT INTO t0 VALUES ('', NULL, NULL); WITH RECURSIVE multi(a, b) AS (VALUES(1, "x") UNION ALL SELECT a+1, "x" FROM multi WHERE a<2) SELECT * FROM multi; END; CREATE VIEW IF NOT EXISTS v_t0_7574 AS SELECT c1 FROM t0; ANALYZE; PRAGMA writable_schema = YES; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<5) SELECT SUM(x) FROM cnt; SELECT * FROM T WHERE B = (SELECT MAX(B) FROM T WHERE B = (SELECT MAX(B) FROM T)); DELETE FROM t1 WHERE 1; INSERT INTO T1 VALUES ('x', 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, X = excluded.X; VACUUM main; INSERT INTO t1 SELECT * FROM t1; SELECT COUNT(*) FROM T; ANALYZE; CREATE TABLE T ( a INTEGER, b TEXT, c INTEGER ); INSERT INTO T VALUES (1,'a',NULL), (2,'b',1), (3,'c',2); WITH RECURSIVE d(a,b,c,e) AS ( SELECT *,1 FROM T WHERE c IS NULL UNION ALL SELECT T.a,T.b,T.c,d.e+1 FROM T JOIN d ON T.c=d.a ) SELECT * FROM d; SELECT * FROM T1 WHERE A > (SELECT MAX(A) FROM T1); SELECT * FROM t1; INSERT OR ROLLBACK INTO t1 VALUES ('', -2, 6, -9); CREATE TEMP VIEW IF NOT EXISTS v_T_9745 AS SELECT a FROM T; ALTER TABLE T1 RENAME TO T1_r1976; REINDEX; CREATE TRIGGER IF NOT EXISTS trg_T1_4621 BEFORE DELETE ON T1 FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'abort'); END; SELECT * FROM T2 AS a LEFT JOIN T1 AS b ON a.rowid = b.rowid; ALTER TABLE T ADD COLUMN extra_1665 DOUBLE; INSERT INTO T2 VALUES (NULL, 1) ON CONFLICT(A) DO UPDATE SET A = excluded.A, Y = excluded.Y; DROP VIEW IF EXISTS T1; INSERT INTO T VALUES (NULL, NULL, NULL); INSERT INTO T1 VALUES (NULL, NULL); CREATE TRIGGER IF NOT EXISTS trg_T1_5266 AFTER UPDATE OF A ON T1 BEGIN INSERT INTO T1(A) VALUES (NULL); END; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (1, '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 INSERT INTO t0 VALUES ('x', 1, 1) ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0, c1 = excluded.c1, c2 = excluded.c2; ``` ## Actual output ```sql error code: 1 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 ```sql ``` ## Flag ``` ```