## 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
CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT);
INSERT INTO t1 VALUES (jsonb_insert(NULL, '$.key', 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
SAVEPOINT sp1995;
SAVEPOINT sp2279;
PRAGMA synchronous = ('1' || '');
PRAGMA reverse_unordered_selects = OFF;
.fullschema
PRAGMA busy_timeout;
ATTACH DATABASE ':memory:' AS aux51;
SAVEPOINT sp2704;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", /* PRAGMA encoding = 'UTF-16be'; */ "z");
DROP TABLE t0;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
PRAGMA secure_delete = YES;
CREATE VIRTUAL TABLE t0 USING fts4("x", "y", "z");
DROP TABLE t0;
PRAGMA cell_size_check;
ROLLBACK TO sp2704;
RELEASE sp2704;
DETACH DATABASE aux51;
VACUUM;
CREATE TABLE T (
  a TEXT,
  b TEXT,
  c REAL
);
INSERT INTO T VALUES ('a','b',quote('simple')), ('a','c',x'e9a74ed9027391f151975ab0d3bc'), ('b','d',-x'e759dba5ae');
SELECT a,b,c,
RANK() OVER (PARTITION BY a ORDER BY c DESC) AS d FROM T;
SELECT GROUP_CONCAT(a, '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE TIES) FROM T;
WITH cte AS (SELECT b, LEAD(b) OVER (ORDER BY b) AS nxt FROM T) SELECT * FROM cte;
SELECT c, (SELECT SUM(c) FROM T) AS sum_val FROM T;
PRAGMA checkpoint_fullsync = OFF;
RELEASE sp2279;
WITH RECURSIVE r AS (SELECT * FROM T LIMIT 1 UNION ALL SELECT t.* FROM T t FULL JOIN r ON t.c = r.c LIMIT 10) SELECT * FROM r;
INSERT INTO T VALUES (NULL, NULL, NULL);
INSERT OR IGNORE INTO T VALUES (0, 9, 0);
ROLLBACK TRANSACTION TO SAVEPOINT sp1995;
RELEASE SAVEPOINT sp1995;
SELECT LEAD(a) OVER (PARTITION BY a ORDER BY a GROUPS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t1;
INSERT INTO T VALUES (NULL, 1, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
ALTER TABLE T RENAME COLUMN b TO b_r5609;
WITH cte AS (SELECT * FROM t1 WHERE c IN (SELECT c FROM t1 LIMIT 5)) SELECT * FROM cte;
```

## 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
von	20	2
Braun	30
von	20
```

## Expectation

```sql

```

## Flag

```
-tabs
```

