SQLite seems to get confused when a CTE VIEW references a table multiple times when renaming that table:
```
% sqlite
-- Loading resources from /home/bjoern/.sqliterc
SQLite version 3.35.4 2021-04-02 15:20:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE VIEW v0 AS
...> WITH
...> p AS (
...> SELECT 1 FROM t1
...> ),
...> g AS (
...> SELECT
...> 1
...> FROM
...> p, t1
...> )
...> SELECT
...> 1
...> FROM
...> g
...> ;
Run Time: real 0.000 user 0.000417 sys 0.000139
sqlite>
sqlite> create table t1(x);
Run Time: real 0.000 user 0.000277 sys 0.000000
sqlite> alter table t1 rename to t2;
(1) statement aborts at 119: [alter table t1 rename to t2;] error in view v0 after rename: no such table: main.t1
Run Time: real 0.001 user 0.001657 sys 0.000000
Error: error in view v0 after rename: no such table: main.t1
```
When I comment out the `FROM g`, the `ALTER TABLE` oddly succeeds, but fails to rename the second reference:
```
% sqlite
-- Loading resources from /home/bjoern/.sqliterc
SQLite version 3.35.4 2021-04-02 15:20:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
sqlite> CREATE VIEW v0 AS
...> WITH
...> p AS (
...> SELECT 1 FROM t1
...> ),
...> g AS (
...> SELECT
...> 1
...> FROM
...> p, t1
...> )
...> SELECT
...> 1
...> -- FROM
...> -- g
...> ;
Run Time: real 0.001 user 0.000000 sys 0.000697
sqlite>
sqlite> create table t1(x);
Run Time: real 0.000 user 0.000000 sys 0.000231
sqlite> alter table t1 rename to t2;
Run Time: real 0.001 user 0.000018 sys 0.001597
sqlite> .schema v0
(1) invalid arguments to fts4aux constructor in "PRAGMA "main".table_info='fts4aux';"
(21) API called with NULL prepared statement
(21) misuse at line 84383 of [5d4c65779d]
CREATE VIEW v0 AS
WITH
p AS (
SELECT 1 FROM "t2"
),
g AS (
SELECT
1
FROM
p, t1
)
SELECT
1
-- FROM
-- g
/* v0("1
-- FROM
-- g") */;
```