Clean up some edge cases in plpgsql's %TYPE parsing.
Support referencing a composite-type variable in %TYPE.
Remove the undocumented, untested, and pretty useless ability
to have the subject of %TYPE be an (unqualified) type name.
You get the same result by just not writing %TYPE.
Add or adjust some test cases to improve code coverage here.
Discussion: https://postgr.es/m/716852.1704402127@sss.pgh.pa.us
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/43b46aae12b220b7eca8250c6c361083f35985a0
Modified Files
--------------
src/pl/plpgsql/src/expected/plpgsql_record.out | 46 +++++++++++++++++++
src/pl/plpgsql/src/pl_comp.c | 61 ++++++++++----------------
src/pl/plpgsql/src/sql/plpgsql_record.sql | 40 +++++++++++++++++
src/test/regress/expected/plpgsql.out | 10 ++---
src/test/regress/sql/plpgsql.sql | 8 ++--
5 files changed, 119 insertions(+), 46 deletions(-)