Correctly check updatability of columns targeted by INSERT...DEFAULT.
Tom Lane <tgl@sss.pgh.pa.us>
Correctly check updatability of columns targeted by INSERT...DEFAULT. If a view has some updatable and some non-updatable columns, we failed to verify updatability of any columns for which an INSERT or UPDATE on the view explicitly specifies a DEFAULT item (unless the view has a declared default for that column, which is rare anyway, and one would almost certainly not write one for a non-updatable column). This would lead to an unexpected "attribute number N not found in view targetlist" error rather than the intended error. Per bug #18546 from Alexander Lakhin. This bug is old, so back-patch to all supported branches. Discussion: https://postgr.es/m/18546-84a292e759a9361d@postgresql.org
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/rewrite/rewriteHandler.c | modified | +21 −14 |
| src/test/regress/expected/updatable_views.out | modified | +3 −0 |
| src/test/regress/sql/updatable_views.sql | modified | +1 −0 |
Discussion
- BUG #18546: Attempt to insert default into a non-updatable column of a view fails with a dubious error 4 messages · 2024-07-20 → 2024-07-22