## 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 map_integer (id INT, name);
INSERT INTO map_integer VALUES(ifnull(1, 2),'a');
CREATE TABLE map_text (id TEXT, name);
INSERT INTO map_text VALUES('4','e');
CREATE TABLE data (id TEXT, name);
INSERT INTO data VALUES(1,'abc'); /**/ INSERT INTO data VALUES('4','xyz');
CREATE VIEW idmap as SELECT * FROM map_integer UNION SELECT * FROM map_text;
CREATE TABLE mzed AS SELECT * FROM idmap;
PRAGMA automatic_index=ON;
SELECT * FROM data JOIN idmap USING(id);

PRAGMA writable_schema = 1;
INSERT INTO map_integer DEFAULT VALUES;
INSERT OR ABORT INTO map_text VALUES ('x', -6);
INSERT INTO map_text SELECT * FROM map_text;
PRAGMA legacy_alter_table = OFF;
DELETE FROM map_integer WHERE NOT 1 RETURNING *;
SELECT * FROM map_text;
WITH cte(x) AS (VALUES(NULL),(1),(NULL)) SELECT * FROM cte WHERE x IS NOT NULL;
ALTER TABLE map_integer ADD COLUMN extra_7758 INT2 NOT NULL DEFAULT 0;
DROP TRIGGER IF EXISTS map_text;
```

## Actual output

```sql
1|abc|a
4|e
x|-6
4|e
x|-6
1
```

## Expectation

```sql
4|xyz|e
4|e
x|-6
4|e
x|-6
1
```

## Flag

```

```

