| From: | Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com> |
|---|---|
| To: | jian he <jian(dot)universality(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: bug: UPDATE FOR PORTION OF interact with updatable view |
| Date: | 2026-05-09 19:06:37 |
| Message-ID: | CA+renyWuxK29Omj0-4dY==S9qjoMEn7s7Xmpr_oXxBBQTCHh+w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sun, Apr 12, 2026 at 8:12 AM jian he <jian(dot)universality(at)gmail(dot)com> wrote:
>
> CREATE TABLE base_tbl (a int, b int, c int);
> INSERT INTO base_tbl values(1,2);
> CREATE VIEW rw_view15 AS SELECT a, ('[' || abs(b) ||
> ',20]')::int4range as b FROM base_tbl;
>
> UPDATE rw_view15 for portion of b from 1 to 10 set a = 2;
> DELETE FROM rw_view15 for portion of b from 1 to 10;
>
> The UPDATE will result
> ERROR: attribute number 2 not found in view targetlist
>
> \errverbose
> ERROR: XX000: attribute number 2 not found in view targetlist
> LOCATION: rewriteTargetView, rewriteHandler.c:3779
>
> The DELETE will crash the server.
>
> Both should result in an error in rewriteTargetView.
> for UPDATE, the error message:
> ERROR: cannot update column "b" of view "rw_view15"
> DETAIL: View columns that are not columns of their base relation are
> not updatable.
>
> for DELETE, the error message:
> ERROR: DELETE ... FOR PORTION OF is not supported for column "b" on
> view "rw_view15"
> DETAIL: View columns that are not columns of their base relation are
> not updatable.
Thanks! I've attached a fix. I rewrote the DELETE error message a bit
to match the existing errors in the file more closely.
I'll make a CF entry.
Yours,
--
Paul ~{:-)
pj(at)illuminatedcomputing(dot)com
| Attachment | Content-Type | Size |
|---|---|---|
| v1-0001-Fix-FOR-PORTION-OF-with-non-updatable-view-column.patch | text/x-patch | 5.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | SATYANARAYANA NARLAPURAM | 2026-05-09 20:45:37 | [PATCH] Release replication slot on error in SQL-callable slot functions |
| Previous Message | Daniel Gustafsson | 2026-05-09 18:44:36 | Re: [PATCH] psql: Make ParseVariableDouble reject values above max |