]> granicus.if.org Git - postgresql/commit
Support INOUT arguments in procedures
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 14 Mar 2018 15:47:21 +0000 (11:47 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 14 Mar 2018 16:07:28 +0000 (12:07 -0400)
commit33803f67f1c4cb88733cce61207bbf2bd5b599cc
tree9ec962aebf50eb4b16a585f83f490d9a5aa6f677
parent484a4a08abe316212d67d84bb8705b06e44f862d
Support INOUT arguments in procedures

In a top-level CALL, the values of INOUT arguments will be returned as a
result row.  In PL/pgSQL, the values are assigned back to the input
arguments.  In other languages, the same convention as for return a
record from a function is used.  That does not require any code changes
in the PL implementations.

Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
32 files changed:
doc/src/sgml/plperl.sgml
doc/src/sgml/plpgsql.sgml
doc/src/sgml/plpython.sgml
doc/src/sgml/pltcl.sgml
doc/src/sgml/ref/call.sgml
doc/src/sgml/ref/create_procedure.sgml
src/backend/catalog/pg_proc.c
src/backend/commands/functioncmds.c
src/backend/executor/functions.c
src/backend/tcop/utility.c
src/backend/utils/fmgr/funcapi.c
src/include/commands/defrem.h
src/include/executor/functions.h
src/include/funcapi.h
src/pl/plperl/expected/plperl_call.out
src/pl/plperl/sql/plperl_call.sql
src/pl/plpgsql/src/expected/plpgsql_call.out
src/pl/plpgsql/src/expected/plpgsql_transaction.out
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_funcs.c
src/pl/plpgsql/src/pl_gram.y
src/pl/plpgsql/src/pl_scanner.c
src/pl/plpgsql/src/plpgsql.h
src/pl/plpgsql/src/sql/plpgsql_call.sql
src/pl/plpython/expected/plpython_call.out
src/pl/plpython/plpy_exec.c
src/pl/plpython/sql/plpython_call.sql
src/pl/tcl/expected/pltcl_call.out
src/pl/tcl/sql/pltcl_call.sql
src/test/regress/expected/create_procedure.out
src/test/regress/sql/create_procedure.sql