Thread: pgsql: Add a parse location field to struct FunctionParameter.

pgsql: Add a parse location field to struct FunctionParameter.

From
Tom Lane
Date:
Add a parse location field to struct FunctionParameter.

This allows an error cursor to be supplied for a bunch of
bad-function-definition errors that previously lacked one,
or that cheated a bit by pointing at the contained type name
when the error isn't really about that.

Bump catversion from an abundance of caution --- I don't think
this node type can actually appear in stored views/rules, but
better safe than sorry.

Jian He and Tom Lane (extracted from a larger patch by Jian,
with some additional work by me)

Discussion: https://postgr.es/m/CACJufxEmONE3P2En=jopZy1m=cCCUs65M4+1o52MW5og9oaUPA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/89e51abcb2905d6beaa09a7d3603d6882ac27033

Modified Files
--------------
src/backend/commands/functioncmds.c                | 47 ++++++++++++++--------
src/backend/nodes/nodeFuncs.c                      |  3 +-
src/backend/parser/gram.y                          | 17 +++++---
src/include/catalog/catversion.h                   |  2 +-
src/include/nodes/parsenodes.h                     |  1 +
.../test_ddl_deparse/expected/create_type.out      |  2 +
.../modules/test_ddl_deparse/expected/opfamily.out |  4 ++
.../modules/test_pg_dump/expected/test_pg_dump.out |  2 +
src/test/regress/expected/create_cast.out          |  2 +
src/test/regress/expected/create_procedure.out     |  4 ++
src/test/regress/expected/create_type.out          | 14 +++++++
src/test/regress/expected/equivclass.out           |  4 ++
src/test/regress/expected/expressions.out          |  4 ++
.../regress/expected/float4-misrounded-input.out   |  2 +
src/test/regress/expected/float4.out               |  2 +
src/test/regress/expected/float8.out               |  2 +
src/test/regress/expected/polymorphism.out         | 12 ++++++
17 files changed, 100 insertions(+), 24 deletions(-)