## Summary **No review yet** ## Minimized query ```sql .headers off 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 PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; PRAGMA foreign_keys; -- PRAGMA query_only = TRUE; .connection CREATE TABLE T ( a TEXT, b TEXT, c REAL ); INSERT INTO T VALUES ('a','b',concat_ws(',', 1, 2, 3)), ('a','c',5.0), ('b','d',-8.25); SELECT a,b,c, RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T; ANALYZE; ANALYZE T; INSERT INTO T VALUES (NULL, NULL, NULL); SELECT LAST_VALUE(b) OVER (PARTITION BY b ORDER BY b GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM T; SELECT COUNT(b) FROM T; REINDEX; SELECT COUNT(*) FROM T; PRAGMA temp_store; WITH cte(a, b, c) AS (SELECT c, c, c FROM T) SELECT a, b, c FROM cte; ALTER TABLE T ADD COLUMN extra_6385 DOUB DEFAULT CURRENT_TIMESTAMP; ALTER TABLE T ADD COLUMN extra_2442 FLOA COLLATE NOCASE; ALTER TABLE t1 ADD COLUMN extra_8702 TEXT DEFAULT (random()); SELECT COUNT(*) FROM T; ``` ## 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 ``` ```