Add hint about not qualifying UPDATE...SET target with relation name.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/parser/analyze.c | modified | +3 −0 |
| src/test/regress/expected/insert_conflict.out | modified | +6 −0 |
| src/test/regress/expected/update.out | modified | +6 −0 |
| src/test/regress/sql/insert_conflict.sql | modified | +3 −0 |
| src/test/regress/sql/update.sql | modified | +3 −0 |
Discussion
- PG12 change to DO UPDATE SET column references 10 messages · 2024-01-19 → 2024-01-21