SQLite Forum

Crash when a RETURNING clause refers to a table in UPDATE FROM
Login
I would think that

```
sqlite> insert into x (rowid, x) values (1,10) on conflict (rowid) do update set x = excluded.x returning old.rowid, new.rowid, old.x, new.x, *;
┌───────────┬───────────┬───────┬───────┬────┐
│ old.rowid │ new.rowid │ old.x │ new.x │ x  │
├───────────┼───────────┼───────┼───────┼────┤
│ 1         │ 1         │ 10    │ 10    │ 10 │
└───────────┴───────────┴───────┴───────┴────┘
```
above should return
```
sqlite> insert into x (rowid, x) values (1,10) on conflict (rowid) do update set x = excluded.x returning old.rowid, new.rowid, old.x, new.x, *;
┌───────────┬───────────┬───────┬───────┬────┐
│ old.rowid │ new.rowid │ old.x │ new.x │ x  │
├───────────┼───────────┼───────┼───────┼────┤
│ 1         │ 1         │ 1     │ 10    │ 10 │
└───────────┴───────────┴───────┴───────┴────┘
```

and that
```
sqlite> insert into x values (1) returning old.rowid, old.x, new.rowid, new.x, *;
┌───────────┬───────┬───────────┬───────┬───┐
│ old.rowid │ old.x │ new.rowid │ new.x │ x │
├───────────┼───────┼───────────┼───────┼───┤
│ 2         │ 1     │ 2         │ 1     │ 1 │
└───────────┴───────┴───────────┴───────┴───┘
```
above should return
```
sqlite> insert into x values (1) returning old.rowid, old.x, new.rowid, new.x, *;
┌───────────┬───────┬───────────┬───────┬───┐
│ old.rowid │ old.x │ new.rowid │ new.x │ x │
├───────────┼───────┼───────────┼───────┼───┤
│           │       │ 2         │ 1     │ 1 │
└───────────┴───────┴───────────┴───────┴───┘
```