pgsql: Correctly check updatability of columns targeted by INSERT...DEF - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Correctly check updatability of columns targeted by INSERT...DEF
Date
Msg-id E1sVE4Y-000QpE-G4@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/461f47948553f61690732492eac58b33afba9756

Modified Files
--------------
src/backend/rewrite/rewriteHandler.c          | 29 ++++++++++++++++++---------
src/test/regress/expected/updatable_views.out |  3 +++
src/test/regress/sql/updatable_views.sql      |  1 +
3 files changed, 23 insertions(+), 10 deletions(-)


pgsql-committers by date:

Previous
From: Noah Misch
Date:
Subject: pgsql: Remove "smgr_persistence == 0" dead code.
Next
From: Andres Freund
Date:
Subject: pgsql: meson: Add support for detecting gss without pkg-config