diff options
Diffstat (limited to 'src/backend/commands/proclang.c')
-rw-r--r-- | src/backend/commands/proclang.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c index 93283b1a841..d34ef7de4d0 100644 --- a/src/backend/commands/proclang.c +++ b/src/backend/commands/proclang.c @@ -51,16 +51,16 @@ typedef struct char *tmpllibrary; /* path of shared library */ } PLTemplate; -static void create_proc_lang(const char *languageName, bool replace, - Oid languageOwner, Oid handlerOid, Oid inlineOid, - Oid valOid, bool trusted); +static Oid create_proc_lang(const char *languageName, bool replace, + Oid languageOwner, Oid handlerOid, Oid inlineOid, + Oid valOid, bool trusted); static PLTemplate *find_language_template(const char *languageName); /* --------------------------------------------------------------------- * CREATE PROCEDURAL LANGUAGE * --------------------------------------------------------------------- */ -void +Oid CreateProceduralLanguage(CreatePLangStmt *stmt) { PLTemplate *pltemplate; @@ -225,9 +225,9 @@ CreateProceduralLanguage(CreatePLangStmt *stmt) valOid = InvalidOid; /* ok, create it */ - create_proc_lang(stmt->plname, stmt->replace, GetUserId(), - handlerOid, inlineOid, - valOid, pltemplate->tmpltrusted); + return create_proc_lang(stmt->plname, stmt->replace, GetUserId(), + handlerOid, inlineOid, + valOid, pltemplate->tmpltrusted); } else { @@ -300,16 +300,16 @@ CreateProceduralLanguage(CreatePLangStmt *stmt) valOid = InvalidOid; /* ok, create it */ - create_proc_lang(stmt->plname, stmt->replace, GetUserId(), - handlerOid, inlineOid, - valOid, stmt->pltrusted); + return create_proc_lang(stmt->plname, stmt->replace, GetUserId(), + handlerOid, inlineOid, + valOid, stmt->pltrusted); } } /* * Guts of language creation. */ -static void +static Oid create_proc_lang(const char *languageName, bool replace, Oid languageOwner, Oid handlerOid, Oid inlineOid, Oid valOid, bool trusted) @@ -433,6 +433,8 @@ create_proc_lang(const char *languageName, bool replace, LanguageRelationId, myself.objectId, 0, NULL); heap_close(rel, RowExclusiveLock); + + return myself.objectId; } /* |