mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
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>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#include "catalog/objectaddress.h"
|
||||
#include "nodes/params.h"
|
||||
#include "nodes/parsenodes.h"
|
||||
#include "tcop/dest.h"
|
||||
#include "utils/array.h"
|
||||
|
||||
/* commands/dropcmds.c */
|
||||
@@ -62,7 +63,7 @@ extern void DropTransformById(Oid transformOid);
|
||||
extern void IsThereFunctionInNamespace(const char *proname, int pronargs,
|
||||
oidvector *proargtypes, Oid nspOid);
|
||||
extern void ExecuteDoStmt(DoStmt *stmt, bool atomic);
|
||||
extern void ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic);
|
||||
extern void ExecuteCallStmt(CallStmt *stmt, ParamListInfo params, bool atomic, DestReceiver *dest);
|
||||
extern Oid get_cast_oid(Oid sourcetypeid, Oid targettypeid, bool missing_ok);
|
||||
extern Oid get_transform_oid(Oid type_id, Oid lang_id, bool missing_ok);
|
||||
extern void interpret_function_parameter_list(ParseState *pstate,
|
||||
|
||||
Reference in New Issue
Block a user