## Summary **No review yet** ## Minimized query ```sql CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (date('{', 'start of month'), 'Wernher', -(-(2147483646)), 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 PRAGMA quick_check(pi()); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS main.main.t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); /* json_remove({v}, '$[0]') */ PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; PRAGMA quick_check(20); PRAGMA encoding = 'UTF-8'; PRAGMA pragma_list; .tables non_existent_table DROP TABLE IF EXISTS t0; CREATE TABLE t0(c0 REAL UNIQUE); INSERT INTO t0(c0) VALUES (3175546974276630385); SELECT 3175546974276630385 < c0 FROM t0; SELECT 1 FROM t0 WHERE 3175546974276630385 < c0; SELECT COUNT(*) FROM t0; CREATE TRIGGER IF NOT EXISTS trg_t0_7535 BEFORE UPDATE OF c0 ON t0 FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'rb'); END; SELECT * FROM t0 AS a LEFT OUTER JOIN t0 AS b ON a.rowid = b.rowid; SELECT * FROM t0 AS a INNER JOIN t0 AS b ON a.rowid = b.rowid; CREATE TABLE "T" ( a INTEGER, b REAL ); INSERT INTO T VALUES (1,1.5), (2,-7.25), (3,0.0); SELECT a,b FROM T WHERE a >= 2 ORDER BY b; INSERT INTO t0 VALUES (NULL); CREATE TRIGGER IF NOT EXISTS trg_t0_5200 AFTER INSERT ON t0 BEGIN SELECT RAISE(ROLLBACK, 'rb'); END; ALTER TABLE t0 DROP COLUMN c0; SELECT COUNT(c0) OVER (PARTITION BY c0 ORDER BY c0 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM t0; CREATE TABLE T ( a TEXT, b REAL ); INSERT INTO T VALUES ('a',100.0), ('b',-200.5), ('c',9e999); SELECT a,b, LEAD(b,1) OVER (ORDER BY b DESC) AS c, NTILE(2) OVER (ORDER BY b DESC) AS d FROM T; SELECT COUNT(*) FROM t1; DELETE FROM t1 WHERE 1; INSERT INTO t1 SELECT * FROM t1; INSERT OR IGNORE INTO T VALUES (4, -5); DELETE FROM t1 WHERE d IS NULL RETURNING *; REINDEX t0; SELECT * FROM T; SELECT * FROM t1; UPDATE t0 SET c0 = '' WHERE c0 IS NOT NULL RETURNING *; DELETE FROM t1 WHERE rowid = 71; 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 t1; REINDEX; ALTER TABLE t1 RENAME TO t1_r1847; CREATE VIEW IF NOT EXISTS v_t1_2233 AS SELECT a FROM t1; SELECT * FROM T AS a RIGHT OUTER JOIN T AS b ON a.rowid = b.rowid; SELECT * FROM t0; ALTER TABLE t0 RENAME TO t0_r2489; DROP TABLE IF EXISTS t0; ALTER TABLE T ADD COLUMN extra_1115 SMALLINT DEFAULT NULL; SELECT * FROM T AS a JOIN T AS b ON a.rowid = b.rowid; ALTER TABLE T RENAME COLUMN b TO b_r7107; 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; INSERT INTO t1 VALUES (1, 'x', NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c; INSERT INTO t0 VALUES ('x') ON CONFLICT(c0) DO UPDATE SET c0 = excluded.c0; INSERT INTO t0 VALUES (NULL); INSERT INTO T VALUES (1, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b; ``` ## Actual output ```sql 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 Wernher|2147483646|1 von|20|2 Braun|30 Wernher|2147483646 von|20 ``` ## Expectation ```sql CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID; Braun|30|3 Wernher|2147483646|1 von|20|2 Braun|30 Wernher|2147483646 von|20 ``` ## Flag ``` ```