support-function-ownership.patch
text/x-patch
Filename: support-function-ownership.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/backend/catalog/pg_aggregate.c | 0 | 0 |
| src/backend/catalog/pg_proc.c | 0 | 0 |
| src/backend/commands/functioncmds.c | 0 | 0 |
| src/backend/commands/proclang.c | 0 | 0 |
| src/backend/commands/typecmds.c | 0 | 0 |
| src/include/catalog/pg_proc_fn.h | 0 | 0 |
diff --git a/src/backend/catalog/pg_aggregate.c b/src/backend/catalog/pg_aggregate.c index 9ff70a52e6c7f7d6a6d127a050055320c459b453..0b393cf6ceeaa668c65b00bdb50533b973a91b74 100644 *** a/src/backend/catalog/pg_aggregate.c --- b/src/backend/catalog/pg_aggregate.c *************** AggregateCreate(const char *aggName, *** 233,238 **** --- 233,239 ---- false, /* no replacement */ false, /* doesn't return a set */ finaltype, /* returnType */ + GetUserId(), /* proowner */ INTERNALlanguageId, /* languageObjectId */ InvalidOid, /* no validator */ "aggregate_dummy", /* placeholder proc */ diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 1fffe1c6ac313717191fd9427dbcb2ba8af2da15..ae71b939175cd3682c503f4b44c9eeda580d57c4 100644 *** a/src/backend/catalog/pg_proc.c --- b/src/backend/catalog/pg_proc.c *************** ProcedureCreate(const char *procedureNam *** 69,74 **** --- 69,75 ---- bool replace, bool returnsSet, Oid returnType, + Oid proowner, Oid languageObjectId, Oid languageValidator, const char *prosrc, *************** ProcedureCreate(const char *procedureNam *** 100,106 **** bool internalInParam = false; bool internalOutParam = false; Oid variadicType = InvalidOid; - Oid proowner = GetUserId(); Acl *proacl = NULL; Relation rel; HeapTuple tup; --- 101,106 ---- diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 5f1c19eb3755c52cebd9082cb3e5b3d1f426544a..ff0836c141e25a91aba9308092cd1f0f15ec8768 100644 *** a/src/backend/commands/functioncmds.c --- b/src/backend/commands/functioncmds.c *************** CreateFunction(CreateFunctionStmt *stmt, *** 978,983 **** --- 978,984 ---- stmt->replace, returnsSet, prorettype, + GetUserId(), languageOid, languageValidator, prosrc_str, /* converted to text later */ diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c index 41775fd86745a4538c2e26689e7cbf5ef56f8c26..5d2e7dc1951ac26f3c7f2c9809e76e7dcc75fc57 100644 *** a/src/backend/commands/proclang.c --- b/src/backend/commands/proclang.c *************** *** 18,23 **** --- 18,24 ---- #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" *************** CreateProceduralLanguage(CreatePLangStmt *** 124,129 **** --- 125,131 ---- false, /* replace */ false, /* returnsSet */ LANGUAGE_HANDLEROID, + BOOTSTRAP_SUPERUSERID, ClanguageId, F_FMGR_C_VALIDATOR, pltemplate->tmplhandler, *************** CreateProceduralLanguage(CreatePLangStmt *** 160,165 **** --- 162,168 ---- false, /* replace */ false, /* returnsSet */ VOIDOID, + BOOTSTRAP_SUPERUSERID, ClanguageId, F_FMGR_C_VALIDATOR, pltemplate->tmplinline, *************** CreateProceduralLanguage(CreatePLangStmt *** 199,204 **** --- 202,208 ---- false, /* replace */ false, /* returnsSet */ VOIDOID, + BOOTSTRAP_SUPERUSERID, ClanguageId, F_FMGR_C_VALIDATOR, pltemplate->tmplvalidator, diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index 140b3f851e9ec92181871ce3a32d2b1ba2873302..77559842e5301f2b31596242304ee7f78ee17afd 100644 *** a/src/backend/commands/typecmds.c --- b/src/backend/commands/typecmds.c *************** *** 38,43 **** --- 38,44 ---- #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" *************** makeRangeConstructors(const char *name, *** 1513,1518 **** --- 1514,1520 ---- false, /* replace */ false, /* returns set */ rangeOid, /* return type */ + BOOTSTRAP_SUPERUSERID, /* proowner */ INTERNALlanguageId, /* language */ F_FMGR_INTERNAL_VALIDATOR, /* language validator */ prosrc[i], /* prosrc */ diff --git a/src/include/catalog/pg_proc_fn.h b/src/include/catalog/pg_proc_fn.h index 04fa64519dac698c9515e62ef82383089c8ed56f..fcd09e7059c9db475185f344e9bf3bb9b4b09226 100644 *** a/src/include/catalog/pg_proc_fn.h --- b/src/include/catalog/pg_proc_fn.h *************** extern Oid ProcedureCreate(const char *p *** 21,26 **** --- 21,27 ---- bool replace, bool returnsSet, Oid returnType, + Oid proowner, Oid languageObjectId, Oid languageValidator, const char *prosrc,