## 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
.import employee.db main
.filectrl main TRUNCATE --(-(2147483647))
PRAGMA threads;
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 soft_heap_limit = 10000000 -> '$.a' -> '$.b';
PRAGMA vdbe_debug = YES;
.indexes
BEGIN;
create TABLE abc(a, b, c, PRIMARY KEY(a, b));
INSERT INTO abc VALUES(1, 1, 1);
INSERT INTO abc WITH _m AS MATERIALIZED (SELECT * FROM abc) SELECT a+(select max(a) FROM _m), b+(select max(a) FROM abc), c+(select max(a) FROM abc) FROM abc;
COMMIT;
SELECT count((SELECT a FROM abc WHERE a = NULL AND b >= upper.c)) FROM abc AS upper;
SELECT * FROM sqlite_master WHERE rowid=10;
PRAGMA cell_size_check = 1;
VACUUM;
REINDEX abc;
SELECT MAX(a) FROM abc;
SELECT * FROM abc AS a FULL OUTER JOIN abc AS b ON a.rowid = b.rowid;
CREATE UNIQUE  INDEX IF NOT EXISTS idx_abc_9152 ON abc(c COLLATE NOCASE) WHERE c > 0;
ALTER TABLE abc RENAME COLUMN a TO a_r8581;
WITH RECURSIVE self(x) AS (SELECT 1 UNION ALL SELECT x FROM self) SELECT * FROM self LIMIT 5;
DELETE FROM abc WHERE c > (SELECT AVG(c) FROM abc) RETURNING *;
VACUUM main;
SELECT MAX(b) FROM abc;
ANALYZE abc;
INSERT INTO abc DEFAULT VALUES;
WITH cte AS (SELECT 1 AS x) INSERT INTO abc(a) SELECT x FROM cte WHERE 1=0;
DROP INDEX IF EXISTS abc;
VACUUM;
INSERT INTO abc VALUES (1, NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
WITH cte AS (SELECT c, LAG(c) OVER (ORDER BY c) AS prev FROM abc) SELECT * FROM cte;
UPDATE abc SET a = 82 WHERE rowid = 1;
WITH RECURSIVE cnt(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM cnt WHERE x<1) SELECT * FROM cnt;
PRAGMA read_uncommitted = TRUE;
INSERT INTO t1 SELECT * FROM t1;
SELECT COUNT(*) FILTER (WHERE c IS NOT NULL), SUM(rowid) FILTER (WHERE c > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c) FILTER (WHERE c > 0 AND c < 100), COUNT(*) FILTER (WHERE typeof(c) = "text") FROM abc;
```

## Actual output

```sql
SQLite version 3.39.0 2022-05-10 23:28:12
Enter ".help" for usage hints.
sqlite> sqlite> sqlite> 0
sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
WARNING: writing to an imposter table will corrupt the "t1bc" index!
sqlite> sqlite> Braun|30|3
Wernher|10|1
von|20|2
sqlite> sqlite> Braun|30
Wernher|10
von|20
sqlite> sqlite>
```

## Expectation

```sql
SQLite version 3.51.1 2025-11-28 17:28:25
Enter ".help" for usage hints.
sqlite> sqlite> sqlite> 0
sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> sqlite> CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID;
sqlite> sqlite> Braun|30|3
Wernher|10|1
von|20|2
sqlite> sqlite> Braun|30
Wernher|10
von|20
sqlite> sqlite>
```

## Flag

```
-interactive
```

