aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/functioncmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/functioncmds.c')
-rw-r--r--src/backend/commands/functioncmds.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index b9fd7683abb..0335e982b31 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -1046,6 +1046,7 @@ CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt)
List *parameterDefaults;
Oid variadicArgType;
List *trftypes_list = NIL;
+ List *trfoids_list = NIL;
ArrayType *trftypes;
Oid requiredResultType;
bool isWindowFunc,
@@ -1157,11 +1158,12 @@ CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt)
Oid typeid = typenameTypeId(NULL,
lfirst_node(TypeName, lc));
Oid elt = get_base_element_type(typeid);
+ Oid transformid;
typeid = elt ? elt : typeid;
-
- get_transform_oid(typeid, languageOid, false);
+ transformid = get_transform_oid(typeid, languageOid, false);
trftypes_list = lappend_oid(trftypes_list, typeid);
+ trfoids_list = lappend_oid(trfoids_list, transformid);
}
}
@@ -1292,6 +1294,7 @@ CreateFunction(ParseState *pstate, CreateFunctionStmt *stmt)
PointerGetDatum(parameterNames),
parameterDefaults,
PointerGetDatum(trftypes),
+ trfoids_list,
PointerGetDatum(proconfig),
prosupport,
procost,