pgsql: Support for OUT parameters in procedures
Support for OUT parameters in procedures
Unlike for functions, OUT parameters for procedures are part of the
signature. Therefore, they have to be listed in pg_proc.proargtypes
as well as mentioned in ALTER PROCEDURE and DROP PROCEDURE.
Reviewed-by: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
Discussion: /messages/by-id/2b8490fe-51af-e671-c504-47359dc453c5@2ndquadrant.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/2453ea142233ae57af452019c3b9a443dad1cdd0
Modified Files
--------------
doc/src/sgml/catalogs.sgml | 5 +-
doc/src/sgml/plpgsql.sgml | 38 ++++++++++
doc/src/sgml/ref/alter_extension.sgml | 11 +--
doc/src/sgml/ref/alter_procedure.sgml | 5 +-
doc/src/sgml/ref/comment.sgml | 11 +--
doc/src/sgml/ref/create_procedure.sgml | 6 +-
doc/src/sgml/ref/drop_procedure.sgml | 5 +-
doc/src/sgml/ref/security_label.sgml | 11 +--
doc/src/sgml/xfunc.sgml | 59 ++++++++++++++++
src/backend/catalog/pg_proc.c | 9 ++-
src/backend/commands/functioncmds.c | 57 ++++++++-------
src/backend/executor/functions.c | 3 +-
src/backend/parser/gram.y | 96 +++++++++++++++++---------
src/backend/utils/fmgr/funcapi.c | 4 +-
src/include/catalog/pg_proc.h | 2 +-
src/include/funcapi.h | 3 +-
src/pl/plperl/expected/plperl_call.out | 18 +++++
src/pl/plperl/sql/plperl_call.sql | 20 ++++++
src/pl/plpgsql/src/expected/plpgsql_call.out | 19 +++++
src/pl/plpgsql/src/pl_comp.c | 1 +
src/pl/plpgsql/src/sql/plpgsql_call.sql | 21 ++++++
src/pl/plpython/expected/plpython_call.out | 17 +++++
src/pl/plpython/plpy_procedure.c | 4 +-
src/pl/plpython/sql/plpython_call.sql | 19 +++++
src/pl/tcl/expected/pltcl_call.out | 17 +++++
src/pl/tcl/sql/pltcl_call.sql | 19 +++++
src/test/regress/expected/create_procedure.out | 16 ++++-
src/test/regress/sql/create_procedure.sql | 13 +++-
28 files changed, 416 insertions(+), 93 deletions(-)