pgsql: Support INOUT arguments in procedures

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема pgsql: Support INOUT arguments in procedures
Дата
Msg-id E1ew8y5-0004J6-TN@gemulon.postgresql.org
обсуждение исходный текст
Ответы Re: pgsql: Support INOUT arguments in procedures  (Erik Rijkers <er@xs4all.nl>)
Список pgsql-committers
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>

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/33803f67f1c4cb88733cce61207bbf2bd5b599cc

Modified Files
--------------
doc/src/sgml/plperl.sgml                           |  14 +++
doc/src/sgml/plpgsql.sgml                          |  16 +++
doc/src/sgml/plpython.sgml                         |  11 ++
doc/src/sgml/pltcl.sgml                            |  12 ++
doc/src/sgml/ref/call.sgml                         |   4 +
doc/src/sgml/ref/create_procedure.sgml             |   7 +-
src/backend/catalog/pg_proc.c                      |   4 +-
src/backend/commands/functioncmds.c                |  65 +++++++++--
src/backend/executor/functions.c                   |  51 +++++++++
src/backend/tcop/utility.c                         |   3 +-
src/backend/utils/fmgr/funcapi.c                   |  11 +-
src/include/commands/defrem.h                      |   3 +-
src/include/executor/functions.h                   |   2 +
src/include/funcapi.h                              |   3 +-
src/pl/plperl/expected/plperl_call.out             |  25 +++++
src/pl/plperl/sql/plperl_call.sql                  |  22 ++++
src/pl/plpgsql/src/expected/plpgsql_call.out       | 112 ++++++++++++++++++
.../plpgsql/src/expected/plpgsql_transaction.out   |   2 +-
src/pl/plpgsql/src/pl_comp.c                       |  10 +-
src/pl/plpgsql/src/pl_exec.c                       | 125 ++++++++++++++++++++-
src/pl/plpgsql/src/pl_funcs.c                      |  25 +++++
src/pl/plpgsql/src/pl_gram.y                       |  37 ++++--
src/pl/plpgsql/src/pl_scanner.c                    |   1 +
src/pl/plpgsql/src/plpgsql.h                       |  12 ++
src/pl/plpgsql/src/sql/plpgsql_call.sql            | 107 ++++++++++++++++++
src/pl/plpython/expected/plpython_call.out         |  23 ++++
src/pl/plpython/plpy_exec.c                        |  24 ++--
src/pl/plpython/sql/plpython_call.sql              |  20 ++++
src/pl/tcl/expected/pltcl_call.out                 |  26 +++++
src/pl/tcl/sql/pltcl_call.sql                      |  23 ++++
src/test/regress/expected/create_procedure.out     |  23 +++-
src/test/regress/sql/create_procedure.sql          |  19 ++++
32 files changed, 792 insertions(+), 50 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: pgsql: Add Oracle like handling of char arrays.
Следующее
От: Michael Meskes
Дата:
Сообщение: pgsql: Fixed compiler warnings in test case.