From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Add hint about not qualifying UPDATE...SET target with relation |
Date: | 2024-01-20 22:54:20 |
Message-ID: | E1rRKEG-002MGc-2Z@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Add hint about not qualifying UPDATE...SET target with relation name.
Target columns in UPDATE ... SET must not be qualified with the target
table; we disallow this because it'd create ambiguity about which name
is the column name in case of field-qualified names. However, newbies
have been seen to expect that they could qualify a target name just
like other names. The error message when they do is confusing:
"column "foo" of relation "foo" does not exist". To improve matters,
issue a HINT if the invalid name is qualified and matches the
relation's alias.
James Coleman (editorialized a bit by me)
Discussion: https://postgr.es/m/CAAaqYe8S2Qa060UV-YF5GoSd5PkEhLV94x-fEi3=TOtpaXCV+w@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/58447e31890ace0d552a4bf693744bef3a5335e6
Modified Files
--------------
src/backend/parser/analyze.c | 3 +++
src/test/regress/expected/insert_conflict.out | 6 ++++++
src/test/regress/expected/update.out | 6 ++++++
src/test/regress/sql/insert_conflict.sql | 3 +++
src/test/regress/sql/update.sql | 3 +++
5 files changed, 21 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Korotkov | 2024-01-21 20:21:52 | pgsql: Generalize the common code of adding sort before processing of g |
Previous Message | Tom Lane | 2024-01-20 18:58:02 | pgsql: Add planner support functions for range operators <@ and @>. |