---
This commit is contained in:
@@ -0,0 +1,636 @@
|
||||
## Summary
|
||||
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**
|
||||
|
||||
## Minimized query
|
||||
|
||||
```sql
|
||||
PRAGMA temp_store = '0';
|
||||
PRAGMA full_column_names = OFF;
|
||||
.expert
|
||||
PRAGMA secure_delete = NO;
|
||||
-- acosh({v})
|
||||
|
||||
.import random-json.db main
|
||||
BEGIN DEFERRED;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote(('with''quote' || '')),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',x'bf547db2d53bde5a'),(json_patch(CAST('"' AS INT) ->> 'key', json_quote(CAST(json_extract(mod(datetime(-(-(sqrt(1 -> '$[0]'))), '+1 day'), 1), '$.key') AS TEXT))),1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
CREATE TABLE main.T1 (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
CREATE TABLE `T2` (
|
||||
a INTEGER,
|
||||
b REAL
|
||||
);
|
||||
INSERT INTO T1 VALUES (1,1.0);
|
||||
INSERT INTO T2 VALUES (1,-1.0),(2,9e999);
|
||||
INSERT AND REPLACE INTO T1
|
||||
SELECT * FROM T2;
|
||||
SELECT * FROM T1;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a LEFT JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out /* PRAGMA secure_delete = NO; */ AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE NOT NOT NOT (NOT NOT (NOT NOT y > 0)) ;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT
|
||||
INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES /* ÅÄÖËŸÏaáàưôốồỗổộơớờỡởợđ */ (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE T (
|
||||
a INTEGER,
|
||||
b REAL,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES (1,1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0);
|
||||
SELECT * FROM T WHERE b < 2.0 ORDER BY b;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER
|
||||
IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(sqlite_version()) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
.exit
|
||||
CREATE TABLE t5(a INT, b INT);
|
||||
CREATE UNIQUE INDEX t5x ON t5(a+b);
|
||||
INSERT INTO t5(a,b) VALUES(quote('with''quote'),trim('hello', NULL)),(julianday(0.0) -> '$[0]',0),(1,1),(0,3);
|
||||
CREATE TEMP TABLE out AS SELECT DISTINCT a+b FROM t5;
|
||||
CREATE TABLE t6a(x INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6a VALUES(1);
|
||||
CREATE TABLE `t6b`(y INTEGER PRIMARY KEY);
|
||||
INSERT INTO t6b VALUES(2),(3);
|
||||
SELECT DISTINCT x, x FROM t6a, t6b;
|
||||
SELECT * FROM out ORDER BY 1;
|
||||
DROP INDEX IF EXISTS t6a;
|
||||
ANALYZE;
|
||||
SELECT * FROM t5;
|
||||
INSERT OR REPLACE INTO t6a VALUES (NULL);
|
||||
SELECT COUNT(x) FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_t6a_6972 BEFORE UPDATE ON t6a BEGIN INSERT INTO t6a(x) VALUES (NULL); END;
|
||||
SELECT * FROM t6b AS a INNER JOIN t6b AS b ON a.rowid = b.rowid;
|
||||
INSERT OR FAIL INTO t5 VALUES (NULL, 'x');
|
||||
PRAGMA auto_vacuum = 1;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
ANALYZE t6b;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6440 ON t6b((y + 1)) WHERE y > 0;
|
||||
SELECT MAX(a) FROM t5;
|
||||
ANALYZE t6b;
|
||||
SELECT SUM(b) FROM t5;
|
||||
COMMIT;
|
||||
SELECT MAX(x) OVER (PARTITION BY x ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t6a;
|
||||
ANALYZE;
|
||||
UPDATE t6b SET y = NULL WHERE 1 RETURNING *;
|
||||
DROP TABLE IF EXISTS t6a;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t5_7261 ON t5(lower(a));
|
||||
UPDATE t6b SET y = CURRENT_TIMESTAMP WHERE rowid = 1;
|
||||
SELECT * FROM t5;
|
||||
SELECT TOTAL(a) FROM t5;
|
||||
SELECT COUNT(*) FROM t6a;
|
||||
SELECT COUNT(*) FILTER (WHERE y IS NOT NULL), SUM(rowid) FILTER (WHERE y > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(y) FILTER (WHERE y > 0 AND y < 100), COUNT(*) FILTER (WHERE typeof(y) = "text") FROM t6b;
|
||||
SELECT * FROM t6b WHERE y < (SELECT AVG(y) FROM t6b);
|
||||
WITH cte AS (SELECT * FROM t5), cte2 AS (SELECT * FROM cte) SELECT * FROM cte2;
|
||||
DELETE FROM t5 WHERE b > (SELECT AVG(b) FROM t5) RETURNING *;
|
||||
INSERT INTO t6b SELECT * FROM t6b;
|
||||
UPDATE T1 SET a = json_object('k', a) WHERE a BETWEEN 0 AND 100;
|
||||
CREATE TRIGGER IF NOT EXISTS trg_T2_646 AFTER UPDATE ON T2 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END;
|
||||
ALTER TABLE t5 RENAME COLUMN a TO a_r6349;
|
||||
VACUUM;
|
||||
ANALYZE t6a;
|
||||
SELECT COUNT(*) FROM T2;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t6a_4223 AS SELECT x FROM t6a;
|
||||
INSERT INTO t5 DEFAULT VALUES;
|
||||
CREATE TEMP VIEW IF NOT EXISTS v_t6a_9754 AS SELECT x FROM t6a;
|
||||
ANALYZE t5;
|
||||
ALTER TABLE t6a ADD COLUMN extra_3690 NONE DEFAULT 0;
|
||||
INSERT INTO T2 SELECT * FROM T2;
|
||||
INSERT INTO T2 DEFAULT VALUES;
|
||||
UPDATE t6b SET y = json_object('k', y);
|
||||
DELETE FROM T2 WHERE rowid = 50;
|
||||
CREATE TABLE T (
|
||||
a TEXT,
|
||||
b INTEGER,
|
||||
c REAL
|
||||
);
|
||||
INSERT INTO T VALUES ('a',1,2.0), ('a',2,-3.0), ('b',1,4.5);
|
||||
SELECT a,b,c,
|
||||
SUM(c) OVER (
|
||||
PARTITION BY a
|
||||
ORDER BY b
|
||||
) AS d
|
||||
FROM T;
|
||||
ANALYZE;
|
||||
INSERT INTO t5 SELECT * FROM t5;
|
||||
SELECT MIN(b) FROM T1;
|
||||
PRAGMA journal_size_limit;
|
||||
ALTER TABLE T2 ADD COLUMN extra_3722 BOOLEAN DEFAULT (abs(random()) % 1000);
|
||||
SELECT COUNT(*) FROM T1;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_t6b_6591 ON t6b(y) WHERE y IS NOT NULL;
|
||||
VACUUM;
|
||||
INSERT INTO t5 VALUES (NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b;
|
||||
WITH cte(a, b) AS (VALUES(1, "a"),(2, "b"),(3, "c")) SELECT * FROM cte;
|
||||
VACUUM main;
|
||||
ALTER TABLE T2 RENAME TO T2_r8280;
|
||||
ALTER TABLE t6b RENAME COLUMN y TO y_r1759;
|
||||
SELECT LEAD(x) OVER (ORDER BY x) FROM t6a;
|
||||
CREATE VIRTUAL TABLE T
|
||||
USING fts5(a,b);
|
||||
INSERT INTO T VALUES ('a','b c'), ('d','e f');
|
||||
SELECT a,b FROM T WHERE T MATCH 'b';
|
||||
WITH cte(x) AS (VALUES(NULL),(1),(NULL)) SELECT * FROM cte WHERE x IS NOT NULL;
|
||||
|
||||
SELECT COUNT(*) FROM T2;
|
||||
WITH cte AS (SELECT * FROM t5 WHERE a IS NOT NULL) SELECT * FROM cte;
|
||||
ALTER TABLE T RENAME COLUMN a TO a_r3966;
|
||||
INSERT INTO t6b VALUES (NULL) ON CONFLICT(y) DO UPDATE SET y = excluded.y;
|
||||
CREATE TEMPORARY VIEW IF NOT EXISTS v_t6b_4561 AS SELECT y FROM t6b;
|
||||
SELECT * FROM T2 AS a INNER JOIN t5 AS b ON a.rowid = b.rowid;
|
||||
```
|
||||
|
||||
## 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user