## Summary **No review yet** ## Minimized query ```sql PRAGMA secure_delete; PRAGMA query_only = NO; PRAGMA legacy_alter_table = NO; CREATE TABLE T ( a NONE, b TEXT ); INSERT INTO T VALUES ('a','b'), ('c','d'); SELECT * FROM T WHERE NOT a = REPLACE('a;',';','') OR b = 'b'; SAVEPOINT sp7688; ATTACH DATABASE ':memory:' AS aux25; SAVEPOINT sp4189; SAVEPOINT sp2341; PRAGMA synchronous = '1'; -- if(0, {v}, 0, {v}) SAVEPOINT sp2237; PRAGMA cache_spill = replace(NULL, 'a', 'b'); ATTACH DATABASE ':memory:' AS aux62; ATTACH DATABASE ':memory:' AS aux74; PRAGMA recursive_triggers = mod(instr(NULL, -NULL), jsonb_object('k1', json_replace(pow(4579059385709312925, 4579059385709312925), '$.key', 4579059385709312925), 'k2', 4579059385709312925)); BEGIN TRANSACTION; .import corrupt001.db main .mode CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT --1472713692240534417; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -(NULL + (length(NULL) + CAST(octet_length(-(-(x'9f4e7c0cc2a4227879ec54e01c20a324'))) AS DOUBLE PRECISION))); ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT ('' || ('hello') || ''); SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -json('🙂'); SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -json_array_insert(load_extension((x'40509735801e9420b456ea14560259c3' + 0)), '$[0]', 123.5); ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',1.0), ('a','c',-1.0), ('b','d',0.0); SELECT COALESCE(a,'e') AS d, COALESCE(b,'f') AS e, SUM(c) AS f FROM T GROUP BY a,b; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE TABLE T ( A VARCHAR(15) PRIMARY KEY, B VARCHAR(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 NOT C > 0 ORDER BY C DESC; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TABLE t1(a); INSERT INTO t1 VALUES(x''); ALTER TABLE t1 ADD COLUMN b TEXT DEFAULT -123.0; SELECT b, typeof(b) FROM t1; ALTER TABLE t1 ADD COLUMN c TEXT DEFAULT -123.5; ALTER TABLE t1 ADD COLUMN d TEXT DEFAULT 'hello'; SELECT c, typeof(c) FROM t1; INSERT INTO t1 SELECT * FROM t1; CREATE TRIGGER IF NOT EXISTS trg_t1_1698 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); EnD; CREATE TRIGGER IF NOT EXISTS trg_t1_6049 BEFORE UPDATE ON t1 BEGIN SELECT RAISE(FAIL, 'no'); END; CREATE VIEW IF NOT EXISTS v_t1_8840 AS SELECT a FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT OR ABORT INTO t1 VALUES (8); WITH a AS (SELECT a FROM t1), b AS (SELECT a FROM t1) SELECT * FROM a JOIN b ON a.a = b.a; WITH cte AS (SELECT * FROM t1 WHERE a IS NOT NULL) SELECT * FROM cte; SELECT CUME_DIST() OVER (PARTITION BY a ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE NO OTHERS) FROM t1; ALTER TABLE t1 DROP COLUMN a; INSERT INTO t1 VALUES ('x') ON CONFLICT(a) DO UPDATE SET a = excluded.a; INSERT INTO t1 DEFAULT VALUES; WITH RECURSIVE pair(a,b) AS (VALUES(0,1) UNION ALL SELECT b, a+b FROM pair WHERE +b<100) SELECT * FROM pair; ALTER TABLE t1 ADD COLUMN extra_5500 UNSIGNED BIG INT DEFAULT CURRENT_TIMESTAMP; ANALYZE; DELETE FROM t1 WHERE rowid = 48; SELECT * FROM T; ALTER TABLE t1 ADD COLUMN extra_3172 FLOA; WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<50) SELECT x FROM cnt WHERE x > 25; COMMIT TRANSACTION; REINDEX; INSERT INTO T DEFAULT VALUES; SELECT * FROM T AS a FULL OUTER JOIN T AS b ON a.rowid = b.rowid; ANALYZE; REINDEX; SELECT COUNT(*) FILTER (WHERE a IS NOT NULL), SUM(rowid) FILTER (WHERE a > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(a) FILTER (WHERE a > 0 AND a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM t1; CREATE TABLE T ( a INTEGER, b TEXT, c REAL, d REAL ); INSERT INTO T VALUES (1,'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999); SELECT b FROM T WHERE ABS(c) > 5 AND ABS(d) > 5; DETACH DATABASE aux74; SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a > 0); INSERT OR IGNORE INTO t1 VALUES (''); UPDATE t1 SET a = a + 1 WHERE a BETWEEN 0 AND 100; SELECT COUNT(*) FILTER (WHERE a IS NOT NULL), SUM(rowid) FILTER (WHERE a > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(a) FILTER (WHERE a > 0 AND a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM t1; DETACH DATABASE aux62; SELECT * FROM t1; WITH cte AS (SELECT "123" AS x) SELECT x + 0 FROM cte; SELECT COUNT(*) FILTER (WHERE a IS NOT NULL), SUM(rowid) FILTER (WHERE a > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(a) FILTER (WHERE a > 0 AND a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM T; VACUUM; SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T; SELECT * FROM t1 NATURAL JOIN T; CREATE INDEX IF NOT EXISTS idx_T_2043 ON T(a) WHERE a IS NOT NULL; SELECT COUNT(*) FROM T; RELEASE sp2237; CREATE UNIQUE INDEX IF NOT EXISTS idx_T_9806 ON T((c + 1)) WHERE c IS NOT NULL; INSERT INTO T VALUES (NULL, NULL, 'x', NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c; CREATE TEMP VIEW IF NOT EXISTS v_T_1070 AS SELECT a FROM T; CREATE UNIQUE INDEX IF NOT EXISTS idx_T_8226 ON T(c) WHERE c > 0; ROLLBACK TRANSACTION TO SAVEPOINT sp2341; RELEASE SAVEPOINT sp2341; SELECT * FROM t1 WHERE (a) IN (SELECT a FROM t1); SELECT LAG(a, 2, 'default') OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; SELECT MAX(a) FILTER (WHERE a IS NOT NULL) OVER (PARTITION BY a ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM T; RELEASE sp4189; ANALYZE; DETACH DATABASE aux25; SELECT COUNT(d) FROM T; CREATE INDEX IF NOT EXISTS idx_T_2193 ON T(d); ANALYZE t1; WITH cte AS (SELECT * FROM t1) SELECT * FROM cte LEFT JOIN t1 ON cte.a = t1.a; SELECT * FROM T WHERE d = (SELECT d FROM T t2 WHERE t2.d = T.d LIMIT 1); ROLLBACK TO sp7688; RELEASE sp7688; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_6472 AS SELECT a FROM T; SELECT * FROM t1 AS a FULL JOIN T AS b ON a.rowid = b.rowid; DROP TABLE IF EXISTS T; DROP INDEX IF EXISTS T; ``` ## Actual output ```sql 3.39.0 2022-05-10 23:28:12 764b71267e0b31ff7eaf2a0def7526a1a02dce4d5b456dea060d97ed342ealt1 ``` ## Expectation ```sql 3.51.1 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88 (64-bit) ``` ## Flag ``` -version ```