pgsql: Improve plpgsql's error messages for incorrect %TYPE and %ROWTYP

Started by Tom Laneover 2 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Improve plpgsql's error messages for incorrect %TYPE and %ROWTYPE.

If one of these constructs referenced a nonexistent object, we'd fall
through to feeding the whole construct to the core parser, which would
reject it with a "syntax error" message. That's pretty unhelpful and
misleading. There's no good reason for plpgsql_parse_wordtype and
friends not to throw a useful error for incorrect input, so make them
do that instead of returning NULL.

Discussion: /messages/by-id/1964516.1708977740@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2a6b47cb50eb9b62b050de2cddd03a9ac267e61f

Modified Files
--------------
src/pl/plpgsql/src/expected/plpgsql_misc.out | 36 ++++++++++++
src/pl/plpgsql/src/pl_comp.c | 82 ++++++++++------------------
src/pl/plpgsql/src/pl_gram.y | 5 +-
src/pl/plpgsql/src/sql/plpgsql_misc.sql | 17 ++++++
4 files changed, 83 insertions(+), 57 deletions(-)