## Summary **No review yet** ## Minimized query ```sql CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (NULL, '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 .auth ON .exit .save BEGIN EXCLUSIVE TRANSACTION; PRAGMA writable_schema = RESET; CREATE TABLE main.t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); iNSErt INTO t1 VALUES (-2147483647, 'Wernher', 10, 100); INSERT INTO t1 VALUES (2, 'von', /* concat_ws('|', NULL, NULL, NULL) */ 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 SELECT * FROM t1 AS a JoIn t1 AS b ON a.rowid = b.rowid; UPDATE t1 SET b = 'x' WHERE NOT 1 RETURNING *; INSERT INTO t1 DEFAULT VALUES; REINDEX; INSERT INTO t1 VALUES (NULL, NULL, NULL, NULL); INSERT INTO t1 DEFAULT VALUES; COMMIT TRANSACTION; CREATE INDEX IF NOT EXISTS idx_t1_9558 ON t1(lower(d)) WHERE d IS NOT NULL; INSERT INTO t1 VALUES (NULL, 1, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c; SELECT MIN(c) OVER (PARTITION BY c ORDER BY c ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING EXCLUDE GROUP) FROM t1; SELECT * FROM t1 WHERE EXISTS (SELECT 1 FROM t1 WHERE a < 0); CREATE TABLE T ( a INTEGER, b REAL ); INSERT INTO T VALUES (1,1.5), (2,-2.5), (3,0.0); CREATE INDEX c ON T(b); SELECT * FROM T WHERE b >= -2.5 AND b < 2.0; WITH cte AS (SELECT * FROM t1 LIMIT 1) DELETE FROM t1 WHERE a IN (SELECT a FROM cte) AND 1=0; WITH cte AS (SELECT CASE WHEN a IS NULL THEN 0 ELSE a END AS val FROM t1) SELECT * FROM cte; ALTER TABLE t1 RENAME TO t1_r1583; WITH cte AS (SELECT CASE WHEN c IS NULL THEN 0 ELSE c END AS val FROM t1) SELECT * FROM cte; ANALYZE; INSERT INTO T VALUES (NULL, NULL); PRAGMA journal_mode = 'TRUNCATE'; DROP VIEW IF EXISTS t1; INSERT INTO t1 SELECT * FROM t1; SELECT * FROM T AS a RIGHT OUTER JOIN t1 AS b ON a.rowid = b.rowid; ``` ## 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|10|1 von|20|2 Braun|30 Wernher|10 von|20 ``` ## Expectation ```sql CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID; Braun|30|3 Wernher|10|1 von|20|2 Braun|30 Wernher|10 von|20 ``` ## Flag ``` ```