## 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
PRAGMA mmap_size = 50000000;
.once

.help
.help .archive
.help .auth
.help .backup
.help .bail
.help .cd
.help .changes
.help .check
.help .clone
.help .connection
.help .databases
.help .dbconfig
.help .dbinfo
.help .dump
.help .echo
.help .eqp
.help .excel
.help .exit
.help .expert
.help .explain
.help .filectrl
.help .fullschema
.help .headers
.help .help
.help .import
.help .imposter
.help .indexes
.help .limit
.help .lint
.help .load
.help .log
.help .mode
.help .nonce
.help .nullvalue
.help .once
.help .open
.help .output
.help .parameter
.help .print
.help .progress
.help .prompt
.help .quit
.help .read
.help .recover
.help .restore
.help .save
.help .scanstats
.help .schema
.help .separator
.help .sha3sum
.help .shell
.help .show
.help .stats
.help .system
.help .tables
.help .timeout
.help .timer
.help .trace
.help .version
.help .vfsinfo
.help .vfslist
.help .vfsname
.help .width
 
BEGIN DEFERRED TRANSACTION;
-- json_insert({v}, '$.key', {v})

ATTACH DATABASE ('' || (':memory:') || '') AS aux15;
.exit -'_'
BEGIN EXCLUSIVE;
((PRAGMA)) count_changes = NO;
PRAGMA defer_foreign_keys = TRUE;
PRAGMA wal_autocheckpoint;
CREATE TABLE T (
  a INTEGER,
  b TEXT,
  c REAL,
  d REAL
);
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
SELECT b FROM T WHERE NOT NOT (NOT NOT (ABS(c) > 5 AND ABS(d) > 5)) ;
PRAGMA encoding = 'UTF-16';
PRAGMA full_column_names = NO;
PRAGMA count_changes = ON;
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 checkpoint_fullsync = 9223372036854775806;
.progress
CREATE TABLE t1(a, b, c);
INSERT INTO t1 VALUES(1,'aaa','bbb');
INSERT INTO t1 SELECT * FROM t1;
INSERT INTO t1 VALUES(2,'ccc','ddd');
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
DROP TRIGGER IF EXISTS t1;
ANALYZE;
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
PRAGMA writable_schema = OFF;
SELECT AVG(b) FROM t1;
ALTER TABLE t1 DROP COLUMN a;
CREATE  VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;
PRAGMA count_changes = NO;
PRAGMA defer_foreign_keys = TRUE;
PRAGMA wal_autocheckpoint;
CREATE TABLE T (
  a INTEGER,
  b TEXT,
  c REAL,
  d REAL
);
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
SELECT b FROM T WHERE ABS(c) > 5 AND ABS(d) > 5;
PRAGMA encoding = 'UTF-16';
PRAGMA full_column_names = NO;
PRAGMA count_changes = ON;
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 checkpoint_fullsync = 9223372036854775806;
.progress
CREATE TABLE t1(a, b, c);
INSERT INTO t1 VALUES(1,'aaa','bbb');
INSERT INTO t1 SELECT * FROM t1;
INSERT INTO t1 VALUES(2,'ccc','ddd');
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
DROP TRIGGER IF EXISTS t1;
ANALYZE;
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
PRAGMA writable_schema = OFF;
SELECT AVG(b) FROM t1;
ALTER TABLE t1 DROP COLUMN a;
CREATE  VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;
PRAGMA count_changes = NO;
PRAGMA defer_foreign_keys = TRUE;
PRAGMA wal_autocheckpoint;
CREATE TABLE T (
  a INTEGER,
  b TEXT,
  c REAL,
  d REAL
);
INSERT INTO T VALUES ('' || ('{"a":1,"b":[1,2,3]}'),'a',40.5,-70.0), (2,'b',-10.25,20.5), (3,'c',9e999,-9e999);
SELECT b FROM T WHERE ABS(c) > 5 AND ABS(d) > 5;
PRAGMA encoding = 'UTF-16';
PRAGMA full_column_names = NO;
PRAGMA count_changes = ON;
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 checkpoint_fullsync = 9223372036854775806;
.progress
CREATE TABLE t1(a, b, c);
INSERT INTO t1 VALUES(1,'aaa','bbb');
INSERT INTO t1 SELECT * FROM t1;
INSERT INTO t1 VALUES(2,'ccc','ddd');
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE NOT NOT (y IN ('aaabbb','xxx')) ;
SELECT DISTINCT a AS x, b||c AS y FROM t1 WHERE +y='aaabbb';
DROP TRIGGER IF EXISTS t1;
ANALYZE;
ALTER TABLE t1 RENAME COLUMN c TO c_r9068;
PRAGMA writable_schema = OFF;
SELECT AVG(b) FROM t1;
ALTER TABLE t1 DROP COLUMN a;
CREATE  VIEW IF NOT EXISTS v_t1_9739 AS SELECT b FROM t1;
ALTER TABLE t1 RENAME COLUMN c TO c_r2779;

COMMIT TRANSACTION;
DELETE FROM T WHERE d IS NULL RETURNING *;
INSERT INTO T DEFAULT VALUES;
INSERT OR ROLLBACK INTO T VALUES (0, NULL, '', '');
SELECT LAG(a, 2) OVER (ORDER BY a ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING EXCLUDE CURRENT ROW) FROM t1;
SELECT * FROM T AS a FULL OUTER JOIN t1 AS b ON a.rowid = b.rowid;
DETACH DATABASE aux15;
COMMIT;
PRAGMA vdbe_addoptrace = NO;
WITH cte AS (SELECT d, RANK() OVER (ORDER BY d) AS rnk FROM T) SELECT * FROM cte;
WITH RECURSIVE r AS (SELECT c FROM T UNION ALL SELECT c FROM T LIMIT 5) SELECT * FROM r;
WITH cte AS (SELECT c FROM T UNION SELECT c FROM T) SELECT * FROM cte;
ALTER TABLE T RENAME COLUMN b TO b_r7810;
CREATE  INDEX IF NOT EXISTS idx_T_9258 ON T(d COLLATE NOCASE);
INSERT INTO t1 VALUES ('x', NULL, NULL) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
INSERT INTO t1 VALUES (NULL, NULL, 1) ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
INSERT INTO T VALUES (NULL, NULL, NULL, NULL);
DELETE FROM T WHERE a > (SELECT AVG(a) FROM T) RETURNING *;
ALTER TABLE t1 ADD COLUMN extra_5967 BIGINT DEFAULT (random());
INSERT INTO T DEFAULT VALUES;
DROP TRIGGER IF EXISTS T;
INSERT INTO t1 VALUES (1, NULL, 'x') ON CONFLICT(a) DO UPDATE SET a = excluded.a, b = excluded.b, c = excluded.c;
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
ALTER TABLE T ADD COLUMN extra_256 DOUBLE PRECISION DEFAULT (random());
WITH RECURSIVE empty(x) AS (SELECT 1 WHERE 1=0 UNION ALL SELECT x+1 FROM empty WHERE x<10) SELECT * FROM empty;
DELETE FROM t1 WHERE a > (SELECT AVG(a) FROM t1);
DELETE FROM t1 WHERE rowid = 54;
```

## Actual output

```sql
Usage: /home/test/sqlite3-src/build/sqlite3 [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:
   -append              append the database to the end of the file
   -ascii               set output mode to 'ascii'
   -bail                stop after hitting an error
   -batch               force batch I/O
   -box                 set output mode to 'box'
   -column              set output mode to 'column'
   -cmd COMMAND         run "COMMAND" before reading stdin
   -csv                 set output mode to 'csv'
   -deserialize         open the database using sqlite3_deserialize()
   -echo                print commands before execution
   -init FILENAME       read/process named file
   -[no]header          turn headers on or off
   -help                show this message
   -html                set output mode to HTML
   -interactive         force interactive I/O
   -json                set output mode to 'json'
   -line                set output mode to 'line'
   -list                set output mode to 'list'
   -lookaside SIZE N    use N entries of SZ bytes for lookaside memory
   -markdown            set output mode to 'markdown'
   -maxsize N           maximum size for a --deserialize database
   -memtrace            trace all memory allocations and deallocations
   -mmap N              default mmap size set to N
   -newline SEP         set output row separator. Default: '\n'
   -nofollow            refuse to open symbolic links to database files
   -nonce STRING        set the safe-mode escape nonce
   -nullvalue TEXT      set text string for NULL values. Default ''
   -pagecache SIZE N    use N slots of SZ bytes each for page cache memory
   -quote               set output mode to 'quote'
   -readonly            open the database read-only
   -safe                enable safe-mode
   -separator SEP       set output column separator. Default: '|'
   -stats               print memory stats before each finalize
   -table               set output mode to 'table'
   -tabs                set output mode to 'tabs'
   -version             show SQLite version
   -vfs NAME            use NAME as the default VFS
```

## Expectation

```sql

```

## Flag

```
-help
```

