Clean up some edge cases in plpgsql's %TYPE parsing.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/pl/plpgsql/src/expected/plpgsql_record.out | modified | +46 −0 |
| src/pl/plpgsql/src/pl_comp.c | modified | +24 −37 |
| src/pl/plpgsql/src/sql/plpgsql_record.sql | modified | +40 −0 |
| src/test/regress/expected/plpgsql.out | modified | +5 −5 |
| src/test/regress/sql/plpgsql.sql | modified | +4 −4 |
Discussion
- PL/pgSQL: Incomplete item Allow handling of %TYPE arrays, e.g. tab.col%TYPE[] 16 messages · 2023-10-16 → 2024-01-05