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: https://postgr.es/m/1964516.1708977...@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(-)

Reply via email to