false, /* no replacement */
false, /* doesn't return a set */
finaltype, /* returnType */
+ GetUserId(), /* proowner */
INTERNALlanguageId, /* languageObjectId */
InvalidOid, /* no validator */
"aggregate_dummy", /* placeholder proc */
bool replace,
bool returnsSet,
Oid returnType,
+ Oid proowner,
Oid languageObjectId,
Oid languageValidator,
const char *prosrc,
bool internalInParam = false;
bool internalOutParam = false;
Oid variadicType = InvalidOid;
- Oid proowner = GetUserId();
Acl *proacl = NULL;
Relation rel;
HeapTuple tup;
stmt->replace,
returnsSet,
prorettype,
+ GetUserId(),
languageOid,
languageValidator,
prosrc_str, /* converted to text later */
#include "catalog/dependency.h"
#include "catalog/indexing.h"
#include "catalog/objectaccess.h"
+#include "catalog/pg_authid.h"
#include "catalog/pg_language.h"
#include "catalog/pg_namespace.h"
#include "catalog/pg_pltemplate.h"
false, /* replace */
false, /* returnsSet */
LANGUAGE_HANDLEROID,
+ BOOTSTRAP_SUPERUSERID,
ClanguageId,
F_FMGR_C_VALIDATOR,
pltemplate->tmplhandler,
false, /* replace */
false, /* returnsSet */
VOIDOID,
+ BOOTSTRAP_SUPERUSERID,
ClanguageId,
F_FMGR_C_VALIDATOR,
pltemplate->tmplinline,
false, /* replace */
false, /* returnsSet */
VOIDOID,
+ BOOTSTRAP_SUPERUSERID,
ClanguageId,
F_FMGR_C_VALIDATOR,
pltemplate->tmplvalidator,
#include "catalog/dependency.h"
#include "catalog/heap.h"
#include "catalog/indexing.h"
+#include "catalog/pg_authid.h"
#include "catalog/pg_collation.h"
#include "catalog/pg_constraint.h"
#include "catalog/pg_depend.h"
false, /* replace */
false, /* returns set */
rangeOid, /* return type */
+ BOOTSTRAP_SUPERUSERID, /* proowner */
INTERNALlanguageId, /* language */
F_FMGR_INTERNAL_VALIDATOR, /* language validator */
prosrc[i], /* prosrc */
bool replace,
bool returnsSet,
Oid returnType,
+ Oid proowner,
Oid languageObjectId,
Oid languageValidator,
const char *prosrc,