]> granicus.if.org Git - postgresql/commitdiff
Adjust more backend functions to return OID rather than void.
authorRobert Haas <rhaas@postgresql.org>
Sat, 29 Dec 2012 12:55:37 +0000 (07:55 -0500)
committerRobert Haas <rhaas@postgresql.org>
Sat, 29 Dec 2012 12:55:37 +0000 (07:55 -0500)
This is again intended to support extensions to the event trigger
functionality.  This may go a bit further than we need for that
purpose, but there's some value in being consistent, and the OID
may be useful for other purposes also.

Dimitri Fontaine

29 files changed:
src/backend/commands/comment.c
src/backend/commands/copy.c
src/backend/commands/dbcommands.c
src/backend/commands/event_trigger.c
src/backend/commands/extension.c
src/backend/commands/foreigncmds.c
src/backend/commands/functioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/opclasscmds.c
src/backend/commands/proclang.c
src/backend/commands/seclabel.c
src/backend/commands/tablespace.c
src/backend/commands/tsearchcmds.c
src/backend/commands/typecmds.c
src/backend/commands/user.c
src/backend/rewrite/rewriteDefine.c
src/backend/tcop/utility.c
src/include/commands/comment.h
src/include/commands/copy.h
src/include/commands/dbcommands.h
src/include/commands/defrem.h
src/include/commands/event_trigger.h
src/include/commands/extension.h
src/include/commands/proclang.h
src/include/commands/seclabel.h
src/include/commands/tablespace.h
src/include/commands/typecmds.h
src/include/commands/user.h
src/include/rewrite/rewriteDefine.h

index 267694f5b9a04d47642e7974955227ba9b6422c0..afada5d6e4f915e880320e38f49ae1df7d1156b3 100644 (file)
@@ -36,7 +36,7 @@
  * This routine is used to add the associated comment into
  * pg_description for the object specified by the given SQL command.
  */
-void
+Oid
 CommentObject(CommentStmt *stmt)
 {
        ObjectAddress address;
@@ -60,7 +60,7 @@ CommentObject(CommentStmt *stmt)
                        ereport(WARNING,
                                        (errcode(ERRCODE_UNDEFINED_DATABASE),
                                         errmsg("database \"%s\" does not exist", database)));
-                       return;
+                       return InvalidOid;
                }
        }
 
@@ -123,6 +123,8 @@ CommentObject(CommentStmt *stmt)
         */
        if (relation != NULL)
                relation_close(relation, NoLock);
+
+       return address.objectId;
 }
 
 /*
index abd82cf9f59c8abddeb6a277f9bde469bc006528..31a02884b9bf23b01412f05e08f3dea19c2a9854 100644 (file)
@@ -743,14 +743,14 @@ CopyLoadRawBuf(CopyState cstate)
  * Do not allow the copy if user doesn't have proper permission to access
  * the table or the specifically requested columns.
  */
-uint64
-DoCopy(const CopyStmt *stmt, const char *queryString)
+Oid
+DoCopy(const CopyStmt *stmt, const char *queryString, uint64 *processed)
 {
        CopyState       cstate;
        bool            is_from = stmt->is_from;
        bool            pipe = (stmt->filename == NULL);
        Relation        rel;
-       uint64          processed;
+       Oid         relid;
 
        /* Disallow file COPY except to superusers. */
        if (!pipe && !superuser())
@@ -774,6 +774,8 @@ DoCopy(const CopyStmt *stmt, const char *queryString)
                rel = heap_openrv(stmt->relation,
                                                  (is_from ? RowExclusiveLock : AccessShareLock));
 
+               relid = RelationGetRelid(rel);
+
                rte = makeNode(RangeTblEntry);
                rte->rtekind = RTE_RELATION;
                rte->relid = RelationGetRelid(rel);
@@ -811,14 +813,14 @@ DoCopy(const CopyStmt *stmt, const char *queryString)
 
                cstate = BeginCopyFrom(rel, stmt->filename,
                                                           stmt->attlist, stmt->options);
-               processed = CopyFrom(cstate);   /* copy from file to database */
+               *processed = CopyFrom(cstate);  /* copy from file to database */
                EndCopyFrom(cstate);
        }
        else
        {
                cstate = BeginCopyTo(rel, stmt->query, queryString, stmt->filename,
                                                         stmt->attlist, stmt->options);
-               processed = DoCopyTo(cstate);   /* copy from database to file */
+               *processed = DoCopyTo(cstate);  /* copy from database to file */
                EndCopyTo(cstate);
        }
 
@@ -830,7 +832,7 @@ DoCopy(const CopyStmt *stmt, const char *queryString)
        if (rel != NULL)
                heap_close(rel, (is_from ? NoLock : AccessShareLock));
 
-       return processed;
+       return relid;
 }
 
 /*
index c390575f422bd328a26d2d234652262df5604b2d..2b39a99c2b0b3f1019daec69b8f07dafbe37c3fa 100644 (file)
@@ -90,7 +90,7 @@ static int    errdetail_busy_db(int notherbackends, int npreparedxacts);
 /*
  * CREATE DATABASE
  */
-void
+Oid
 createdb(const CreatedbStmt *stmt)
 {
        HeapScanDesc scan;
@@ -655,6 +655,8 @@ createdb(const CreatedbStmt *stmt)
        }
        PG_END_ENSURE_ERROR_CLEANUP(createdb_failure_callback,
                                                                PointerGetDatum(&fparms));
+
+       return dboid;
 }
 
 /*
@@ -1301,10 +1303,11 @@ movedb_failure_callback(int code, Datum arg)
 /*
  * ALTER DATABASE name ...
  */
-void
+Oid
 AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel)
 {
        Relation        rel;
+       Oid         dboid;
        HeapTuple       tuple,
                                newtuple;
        ScanKeyData scankey;
@@ -1350,7 +1353,7 @@ AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel)
                /* this case isn't allowed within a transaction block */
                PreventTransactionChain(isTopLevel, "ALTER DATABASE SET TABLESPACE");
                movedb(stmt->dbname, strVal(dtablespace->arg));
-               return;
+               return InvalidOid;
        }
 
        if (dconnlimit)
@@ -1380,6 +1383,8 @@ AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel)
                                (errcode(ERRCODE_UNDEFINED_DATABASE),
                                 errmsg("database \"%s\" does not exist", stmt->dbname)));
 
+       dboid = HeapTupleGetOid(tuple);
+
        if (!pg_database_ownercheck(HeapTupleGetOid(tuple), GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_DATABASE,
                                           stmt->dbname);
@@ -1408,13 +1413,15 @@ AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel)
 
        /* Close pg_database, but keep lock till commit */
        heap_close(rel, NoLock);
+
+       return dboid;
 }
 
 
 /*
  * ALTER DATABASE name SET ...
  */
-void
+Oid
 AlterDatabaseSet(AlterDatabaseSetStmt *stmt)
 {
        Oid                     datid = get_database_oid(stmt->dbname, false);
@@ -1432,6 +1439,8 @@ AlterDatabaseSet(AlterDatabaseSetStmt *stmt)
        AlterSetting(datid, InvalidOid, stmt->setstmt);
 
        UnlockSharedObject(DatabaseRelationId, datid, 0, AccessShareLock);
+
+       return datid;
 }
 
 
index 722c3cf118c0a0db9e5930d063cb2116a8c5f4d1..e23cacd067ff6d2799018f544ea5acf25a05cf4c 100644 (file)
@@ -94,15 +94,15 @@ static void AlterEventTriggerOwner_internal(Relation rel,
 static event_trigger_command_tag_check_result check_ddl_tag(const char *tag);
 static void error_duplicate_filter_variable(const char *defname);
 static Datum filter_list_to_array(List *filterlist);
-static void insert_event_trigger_tuple(char *trigname, char *eventname,
-                                               Oid evtOwner, Oid funcoid, List *tags);
+static Oid insert_event_trigger_tuple(char *trigname, char *eventname,
+                                                                         Oid evtOwner, Oid funcoid, List *tags);
 static void validate_ddl_tags(const char *filtervar, List *taglist);
 static void EventTriggerInvoke(List *fn_oid_list, EventTriggerData *trigdata);
 
 /*
  * Create an event trigger.
  */
-void
+Oid
 CreateEventTrigger(CreateEventTrigStmt *stmt)
 {
        HeapTuple       tuple;
@@ -173,8 +173,8 @@ CreateEventTrigger(CreateEventTrigStmt *stmt)
                                                NameListToString(stmt->funcname))));
 
        /* Insert catalog entries. */
-       insert_event_trigger_tuple(stmt->trigname, stmt->eventname,
-                                                          evtowner, funcoid, tags);
+       return insert_event_trigger_tuple(stmt->trigname, stmt->eventname,
+                                                                         evtowner, funcoid, tags);
 }
 
 /*
@@ -260,7 +260,7 @@ error_duplicate_filter_variable(const char *defname)
 /*
  * Insert the new pg_event_trigger row and record dependencies.
  */
-static void
+static Oid
 insert_event_trigger_tuple(char *trigname, char *eventname, Oid evtOwner,
                                                   Oid funcoid, List *taglist)
 {
@@ -312,6 +312,8 @@ insert_event_trigger_tuple(char *trigname, char *eventname, Oid evtOwner,
 
        /* Close pg_event_trigger. */
        heap_close(tgrel, RowExclusiveLock);
+
+       return trigoid;
 }
 
 /*
@@ -376,11 +378,12 @@ RemoveEventTriggerById(Oid trigOid)
 /*
  * ALTER EVENT TRIGGER foo ENABLE|DISABLE|ENABLE ALWAYS|REPLICA
  */
-void
+Oid
 AlterEventTrigger(AlterEventTrigStmt *stmt)
 {
        Relation        tgrel;
        HeapTuple       tup;
+       Oid         trigoid;
        Form_pg_event_trigger evtForm;
        char        tgenabled = stmt->tgenabled;
 
@@ -393,7 +396,10 @@ AlterEventTrigger(AlterEventTrigStmt *stmt)
                                (errcode(ERRCODE_UNDEFINED_OBJECT),
                                 errmsg("event trigger \"%s\" does not exist",
                                        stmt->trigname)));
-       if (!pg_event_trigger_ownercheck(HeapTupleGetOid(tup), GetUserId()))
+
+       trigoid = HeapTupleGetOid(tup);
+
+       if (!pg_event_trigger_ownercheck(trigoid, GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_EVENT_TRIGGER,
                                           stmt->trigname);
 
@@ -407,6 +413,8 @@ AlterEventTrigger(AlterEventTrigStmt *stmt)
        /* clean up */
        heap_freetuple(tup);
        heap_close(tgrel, RowExclusiveLock);
+
+       return trigoid;
 }
 
 
index ad072a5c7b035f9a1ba5f4d70db94169cd710200..e5560516f0ad459757d6cce02fa1bb2082ed0aa8 100644 (file)
@@ -2580,7 +2580,7 @@ AlterExtensionNamespace(List *names, const char *newschema)
 /*
  * Execute ALTER EXTENSION UPDATE
  */
-void
+Oid
 ExecAlterExtensionStmt(AlterExtensionStmt *stmt)
 {
        DefElem    *d_new_version = NULL;
@@ -2697,7 +2697,7 @@ ExecAlterExtensionStmt(AlterExtensionStmt *stmt)
                ereport(NOTICE,
                   (errmsg("version \"%s\" of extension \"%s\" is already installed",
                                   versionName, stmt->extname)));
-               return;
+               return InvalidOid;
        }
 
        /*
@@ -2713,6 +2713,8 @@ ExecAlterExtensionStmt(AlterExtensionStmt *stmt)
         */
        ApplyExtensionUpdates(extensionOid, control,
                                                  oldVersionName, updateVersions);
+
+       return extensionOid;
 }
 
 /*
@@ -2875,7 +2877,7 @@ ApplyExtensionUpdates(Oid extensionOid,
 /*
  * Execute ALTER EXTENSION ADD/DROP
  */
-void
+Oid
 ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt)
 {
        ObjectAddress extension;
@@ -2976,4 +2978,6 @@ ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt)
         */
        if (relation != NULL)
                relation_close(relation, NoLock);
+
+       return extension.objectId;
 }
index af833b886bf3a52d67a85214126270957dd860e6..5a504a29e5ad97fe24fba219ece39f63d3d83bda 100644 (file)
@@ -583,7 +583,7 @@ parse_func_options(List *func_options,
 /*
  * Create a foreign-data wrapper
  */
-void
+Oid
 CreateForeignDataWrapper(CreateFdwStmt *stmt)
 {
        Relation        rel;
@@ -690,13 +690,15 @@ CreateForeignDataWrapper(CreateFdwStmt *stmt)
                                                   ForeignDataWrapperRelationId, fdwId, 0, NULL);
 
        heap_close(rel, RowExclusiveLock);
+
+       return fdwId;
 }
 
 
 /*
  * Alter foreign-data wrapper
  */
-void
+Oid
 AlterForeignDataWrapper(AlterFdwStmt *stmt)
 {
        Relation        rel;
@@ -851,6 +853,8 @@ AlterForeignDataWrapper(AlterFdwStmt *stmt)
        }
 
        heap_close(rel, RowExclusiveLock);
+
+       return fdwId;
 }
 
 
@@ -881,7 +885,7 @@ RemoveForeignDataWrapperById(Oid fdwId)
 /*
  * Create a foreign server
  */
-void
+Oid
 CreateForeignServer(CreateForeignServerStmt *stmt)
 {
        Relation        rel;
@@ -987,13 +991,15 @@ CreateForeignServer(CreateForeignServerStmt *stmt)
                                                   ForeignServerRelationId, srvId, 0, NULL);
 
        heap_close(rel, RowExclusiveLock);
+
+       return srvId;
 }
 
 
 /*
  * Alter foreign server
  */
-void
+Oid
 AlterForeignServer(AlterForeignServerStmt *stmt)
 {
        Relation        rel;
@@ -1080,6 +1086,8 @@ AlterForeignServer(AlterForeignServerStmt *stmt)
        heap_freetuple(tp);
 
        heap_close(rel, RowExclusiveLock);
+
+       return srvId;
 }
 
 
@@ -1137,7 +1145,7 @@ user_mapping_ddl_aclcheck(Oid umuserid, Oid serverid, const char *servername)
 /*
  * Create user mapping
  */
-void
+Oid
 CreateUserMapping(CreateUserMappingStmt *stmt)
 {
        Relation        rel;
@@ -1228,13 +1236,15 @@ CreateUserMapping(CreateUserMappingStmt *stmt)
                                                   UserMappingRelationId, umId, 0, NULL);
 
        heap_close(rel, RowExclusiveLock);
+
+       return umId;
 }
 
 
 /*
  * Alter user mapping
  */
-void
+Oid
 AlterUserMapping(AlterUserMappingStmt *stmt)
 {
        Relation        rel;
@@ -1314,13 +1324,15 @@ AlterUserMapping(AlterUserMappingStmt *stmt)
        heap_freetuple(tp);
 
        heap_close(rel, RowExclusiveLock);
+
+       return umId;
 }
 
 
 /*
  * Drop user mapping
  */
-void
+Oid
 RemoveUserMapping(DropUserMappingStmt *stmt)
 {
        ObjectAddress object;
@@ -1338,7 +1350,7 @@ RemoveUserMapping(DropUserMappingStmt *stmt)
                 * leave.
                 */
                elog(NOTICE, "role \"%s\" does not exist, skipping", stmt->username);
-               return;
+               return InvalidOid;
        }
 
        if (!srv)
@@ -1350,7 +1362,7 @@ RemoveUserMapping(DropUserMappingStmt *stmt)
                                                        stmt->servername)));
                /* IF EXISTS, just note it */
                ereport(NOTICE, (errmsg("server does not exist, skipping")));
-               return;
+               return InvalidOid;
        }
 
        umId = GetSysCacheOid2(USERMAPPINGUSERSERVER,
@@ -1369,7 +1381,7 @@ RemoveUserMapping(DropUserMappingStmt *stmt)
                ereport(NOTICE,
                (errmsg("user mapping \"%s\" does not exist for the server, skipping",
                                MappingUserName(useId))));
-               return;
+               return InvalidOid;
        }
 
        user_mapping_ddl_aclcheck(useId, srv->serverid, srv->servername);
@@ -1382,6 +1394,8 @@ RemoveUserMapping(DropUserMappingStmt *stmt)
        object.objectSubId = 0;
 
        performDeletion(&object, DROP_CASCADE, 0);
+
+       return umId;
 }
 
 
index 2c36ce0e0f75764cf945a93654270e93415c38c5..fe63a1205a227a3e0b3a3a6726bfa542289561c6 100644 (file)
@@ -1111,7 +1111,7 @@ RenameFunction(List *name, List *argtypes, const char *newname)
  * RENAME and OWNER clauses, which are handled as part of the generic
  * ALTER framework).
  */
-void
+Oid
 AlterFunction(AlterFunctionStmt *stmt)
 {
        HeapTuple       tup;
@@ -1241,6 +1241,8 @@ AlterFunction(AlterFunctionStmt *stmt)
 
        heap_close(rel, NoLock);
        heap_freetuple(tup);
+
+       return funcOid;
 }
 
 /*
@@ -1318,7 +1320,7 @@ SetFunctionArgType(Oid funcOid, int argIndex, Oid newArgType)
 /*
  * CREATE CAST
  */
-void
+Oid
 CreateCast(CreateCastStmt *stmt)
 {
        Oid                     sourcetypeid;
@@ -1632,6 +1634,8 @@ CreateCast(CreateCastStmt *stmt)
        heap_freetuple(tuple);
 
        heap_close(relation, RowExclusiveLock);
+
+       return castid;
 }
 
 /*
index 75f9ff19cc70bcbd417eb2bedd8dc30a827f23ee..1231b84c37891bd17c9c3cd6d176418be8b44c9f 100644 (file)
@@ -1671,7 +1671,7 @@ ChooseIndexColumnNames(List *indexElems)
  * ReindexIndex
  *             Recreate a specific index.
  */
-void
+Oid
 ReindexIndex(RangeVar *indexRelation)
 {
        Oid                     indOid;
@@ -1684,6 +1684,8 @@ ReindexIndex(RangeVar *indexRelation)
                                                                          (void *) &heapOid);
 
        reindex_index(indOid, false);
+
+       return indOid;
 }
 
 /*
@@ -1749,7 +1751,7 @@ RangeVarCallbackForReindexIndex(const RangeVar *relation,
  * ReindexTable
  *             Recreate all indexes of a table (and of its toast table, if any)
  */
-void
+Oid
 ReindexTable(RangeVar *relation)
 {
        Oid                     heapOid;
@@ -1762,6 +1764,8 @@ ReindexTable(RangeVar *relation)
                ereport(NOTICE,
                                (errmsg("table \"%s\" has no indexes",
                                                relation->relname)));
+
+       return heapOid;
 }
 
 /*
@@ -1772,7 +1776,7 @@ ReindexTable(RangeVar *relation)
  * separate transaction, so we can release the lock on it right away.
  * That means this must not be called within a user transaction block!
  */
-void
+Oid
 ReindexDatabase(const char *databaseName, bool do_system, bool do_user)
 {
        Relation        relationRelation;
@@ -1882,4 +1886,6 @@ ReindexDatabase(const char *databaseName, bool do_system, bool do_user)
        StartTransactionCommand();
 
        MemoryContextDelete(private_context);
+
+       return MyDatabaseId;
 }
index b85f1cb6407a31f7940ca2730874cc0591620576..545f5c8eb399a145fa244c60bf3af7eefff8b74b 100644 (file)
@@ -321,7 +321,7 @@ CreateOpFamily(char *amname, char *opfname, Oid namespaceoid, Oid amoid)
  * DefineOpClass
  *             Define a new index operator class.
  */
-void
+Oid
 DefineOpClass(CreateOpClassStmt *stmt)
 {
        char       *opcname;            /* name of opclass we're creating */
@@ -714,6 +714,8 @@ DefineOpClass(CreateOpClassStmt *stmt)
                                                   OperatorClassRelationId, opclassoid, 0, NULL);
 
        heap_close(rel, RowExclusiveLock);
+
+       return opclassoid;
 }
 
 
@@ -721,7 +723,7 @@ DefineOpClass(CreateOpClassStmt *stmt)
  * DefineOpFamily
  *             Define a new index operator family.
  */
-void
+Oid
 DefineOpFamily(CreateOpFamilyStmt *stmt)
 {
        char       *opfname;            /* name of opfamily we're creating */
@@ -754,7 +756,7 @@ DefineOpFamily(CreateOpFamilyStmt *stmt)
                                 errmsg("must be superuser to create an operator family")));
 
        /* Insert pg_opfamily catalog entry */
-       (void) CreateOpFamily(stmt->amname, opfname, namespaceoid, amoid);
+       return CreateOpFamily(stmt->amname, opfname, namespaceoid, amoid);
 }
 
 
@@ -766,7 +768,7 @@ DefineOpFamily(CreateOpFamilyStmt *stmt)
  * other commands called ALTER OPERATOR FAMILY exist, but go through
  * different code paths.
  */
-void
+Oid
 AlterOpFamily(AlterOpFamilyStmt *stmt)
 {
        Oid                     amoid,                  /* our AM's oid */
@@ -820,6 +822,8 @@ AlterOpFamily(AlterOpFamilyStmt *stmt)
                AlterOpFamilyAdd(stmt->opfamilyname, amoid, opfamilyoid,
                                                 maxOpNumber, maxProcNumber,
                                                 stmt->items);
+
+       return opfamilyoid;
 }
 
 /*
index 93283b1a8418139be67651f8312368b15486d81d..d34ef7de4d03ad0c76d854fbc621cf80a90500be 100644 (file)
@@ -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;
 }
 
 /*
index 91f41a1cd700cde8a35a540fa9acb9a573dd832f..cdb2e88f26c8cf184e23997ba6e4146397f5a9be 100644 (file)
@@ -38,7 +38,7 @@ static List *label_provider_list = NIL;
  *
  * Apply a security label to a database object.
  */
-void
+Oid
 ExecSecLabelStmt(SecLabelStmt *stmt)
 {
        LabelProvider *provider = NULL;
@@ -131,6 +131,8 @@ ExecSecLabelStmt(SecLabelStmt *stmt)
         */
        if (relation != NULL)
                relation_close(relation, NoLock);
+
+       return address.objectId;
 }
 
 /*
index 2c19db31e0d302e25e6baf4f27ffabe240b95c0b..c5d13a5854e9f4db008e8444a91ab1e94517aa0d 100644 (file)
@@ -222,7 +222,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
  * since we're determining the system layout and, anyway, we probably have
  * root if we're doing this kind of activity
  */
-void
+Oid
 CreateTableSpace(CreateTableSpaceStmt *stmt)
 {
 #ifdef HAVE_SYMLINK
@@ -371,6 +371,8 @@ CreateTableSpace(CreateTableSpaceStmt *stmt)
                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                         errmsg("tablespaces are not supported on this platform")));
 #endif   /* HAVE_SYMLINK */
+
+       return tablespaceoid;
 }
 
 /*
@@ -890,13 +892,14 @@ RenameTableSpace(const char *oldname, const char *newname)
 /*
  * Alter table space options
  */
-void
+Oid
 AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt)
 {
        Relation        rel;
        ScanKeyData entry[1];
        HeapScanDesc scandesc;
        HeapTuple       tup;
+       Oid                     tablespaceoid;
        Datum           datum;
        Datum           newOptions;
        Datum           repl_val[Natts_pg_tablespace];
@@ -920,6 +923,8 @@ AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt)
                                 errmsg("tablespace \"%s\" does not exist",
                                                stmt->tablespacename)));
 
+       tablespaceoid = HeapTupleGetOid(tup);
+
        /* Must be owner of the existing object */
        if (!pg_tablespace_ownercheck(HeapTupleGetOid(tup), GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TABLESPACE,
@@ -952,6 +957,8 @@ AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt)
        /* Conclude heap scan. */
        heap_endscan(scandesc);
        heap_close(rel, NoLock);
+
+       return tablespaceoid;
 }
 
 /*
index b922c6ed476298a5803f8556c9cf6ac4e0eecb25..61eda19ecb4670156707bf48e1abae0b6f473a6a 100644 (file)
@@ -614,7 +614,7 @@ RemoveTSDictionaryById(Oid dictId)
 /*
  * ALTER TEXT SEARCH DICTIONARY
  */
-void
+Oid
 AlterTSDictionary(AlterTSDictionaryStmt *stmt)
 {
        HeapTuple       tup,
@@ -722,6 +722,8 @@ AlterTSDictionary(AlterTSDictionaryStmt *stmt)
        ReleaseSysCache(tup);
 
        heap_close(rel, RowExclusiveLock);
+
+       return dictId;
 }
 
 /* ---------------------- TS Template commands -----------------------*/
@@ -1349,10 +1351,11 @@ RemoveTSConfigurationById(Oid cfgId)
 /*
  * ALTER TEXT SEARCH CONFIGURATION - main entry point
  */
-void
+Oid
 AlterTSConfiguration(AlterTSConfigurationStmt *stmt)
 {
        HeapTuple       tup;
+       Oid                     cfgId;
        Relation        relMap;
 
        /* Find the configuration */
@@ -1363,6 +1366,8 @@ AlterTSConfiguration(AlterTSConfigurationStmt *stmt)
                                 errmsg("text search configuration \"%s\" does not exist",
                                                NameListToString(stmt->cfgname))));
 
+       cfgId = HeapTupleGetOid(tup);
+
        /* must be owner */
        if (!pg_ts_config_ownercheck(HeapTupleGetOid(tup), GetUserId()))
                aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_TSCONFIGURATION,
@@ -1382,6 +1387,8 @@ AlterTSConfiguration(AlterTSConfigurationStmt *stmt)
        heap_close(relMap, RowExclusiveLock);
 
        ReleaseSysCache(tup);
+
+       return cfgId;
 }
 
 /*
index 6f99f38f118b3695f3df36a279fe1736718acc86..aca670095b9812f9e0d74523665b57099877e058 100644 (file)
@@ -1053,7 +1053,7 @@ DefineDomain(CreateDomainStmt *stmt)
  * DefineEnum
  *             Registers a new enum.
  */
-void
+Oid
 DefineEnum(CreateEnumStmt *stmt)
 {
        char       *enumName;
@@ -1166,13 +1166,15 @@ DefineEnum(CreateEnumStmt *stmt)
                           InvalidOid);         /* type's collation */
 
        pfree(enumArrayName);
+
+       return enumTypeOid;
 }
 
 /*
  * AlterEnum
  *             Adds a new label to an existing enum.
  */
-void
+Oid
 AlterEnum(AlterEnumStmt *stmt, bool isTopLevel)
 {
        Oid                     enum_type_oid;
@@ -1215,6 +1217,8 @@ AlterEnum(AlterEnumStmt *stmt, bool isTopLevel)
                                 stmt->skipIfExists);
 
        ReleaseSysCache(tup);
+
+       return enum_type_oid;
 }
 
 
@@ -1246,7 +1250,7 @@ checkEnumOwner(HeapTuple tup)
  * DefineRange
  *             Registers a new range type.
  */
-void
+Oid
 DefineRange(CreateRangeStmt *stmt)
 {
        char       *typeName;
@@ -1498,6 +1502,8 @@ DefineRange(CreateRangeStmt *stmt)
 
        /* And create the constructor functions for this range type */
        makeRangeConstructors(typeName, typeNamespace, typoid, rangeSubtype);
+
+       return typoid;
 }
 
 /*
@@ -2064,7 +2070,7 @@ DefineCompositeType(RangeVar *typevar, List *coldeflist)
  *
  * Routine implementing ALTER DOMAIN SET/DROP DEFAULT statements.
  */
-void
+Oid
 AlterDomainDefault(List *names, Node *defaultRaw)
 {
        TypeName   *typename;
@@ -2191,6 +2197,8 @@ AlterDomainDefault(List *names, Node *defaultRaw)
        /* Clean up */
        heap_close(rel, NoLock);
        heap_freetuple(newtuple);
+
+       return domainoid;
 }
 
 /*
@@ -2198,7 +2206,7 @@ AlterDomainDefault(List *names, Node *defaultRaw)
  *
  * Routine implementing ALTER DOMAIN SET/DROP NOT NULL statements.
  */
-void
+Oid
 AlterDomainNotNull(List *names, bool notNull)
 {
        TypeName   *typename;
@@ -2226,7 +2234,7 @@ AlterDomainNotNull(List *names, bool notNull)
        if (typTup->typnotnull == notNull)
        {
                heap_close(typrel, RowExclusiveLock);
-               return;
+               return InvalidOid;
        }
 
        /* Adding a NOT NULL constraint requires checking existing columns */
@@ -2287,6 +2295,8 @@ AlterDomainNotNull(List *names, bool notNull)
        /* Clean up */
        heap_freetuple(tup);
        heap_close(typrel, RowExclusiveLock);
+
+       return domainoid;
 }
 
 /*
@@ -2294,7 +2304,7 @@ AlterDomainNotNull(List *names, bool notNull)
  *
  * Implements the ALTER DOMAIN DROP CONSTRAINT statement
  */
-void
+Oid
 AlterDomainDropConstraint(List *names, const char *constrName,
                                                  DropBehavior behavior, bool missing_ok)
 {
@@ -2371,6 +2381,8 @@ AlterDomainDropConstraint(List *names, const char *constrName,
                                        (errmsg("constraint \"%s\" of domain \"%s\" does not exist, skipping",
                                                        constrName, TypeNameToString(typename))));
        }
+
+       return domainoid;
 }
 
 /*
@@ -2378,7 +2390,7 @@ AlterDomainDropConstraint(List *names, const char *constrName,
  *
  * Implements the ALTER DOMAIN .. ADD CONSTRAINT statement.
  */
-void
+Oid
 AlterDomainAddConstraint(List *names, Node *newConstraint)
 {
        TypeName   *typename;
@@ -2474,6 +2486,8 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
 
        /* Clean up */
        heap_close(typrel, RowExclusiveLock);
+
+       return domainoid;
 }
 
 /*
@@ -2481,7 +2495,7 @@ AlterDomainAddConstraint(List *names, Node *newConstraint)
  *
  * Implements the ALTER DOMAIN .. VALIDATE CONSTRAINT statement.
  */
-void
+Oid
 AlterDomainValidateConstraint(List *names, char *constrName)
 {
        TypeName   *typename;
@@ -2573,6 +2587,8 @@ AlterDomainValidateConstraint(List *names, char *constrName)
        heap_close(conrel, RowExclusiveLock);
 
        ReleaseSysCache(tup);
+
+       return domainoid;
 }
 
 static void
index 569385cf2342342c8e0f11f9e2c7e1f7482484b6..6cf40cc08118742cd770130b1a5dd3ddbf6c0107 100644 (file)
@@ -67,7 +67,7 @@ have_createrole_privilege(void)
 /*
  * CREATE ROLE
  */
-void
+Oid
 CreateRole(CreateRoleStmt *stmt)
 {
        Relation        pg_authid_rel;
@@ -433,6 +433,8 @@ CreateRole(CreateRoleStmt *stmt)
         * Close pg_authid, but keep lock till commit.
         */
        heap_close(pg_authid_rel, NoLock);
+
+       return roleid;
 }
 
 
@@ -443,7 +445,7 @@ CreateRole(CreateRoleStmt *stmt)
  * backwards-compatible ALTER GROUP syntax.  Although it will work to say
  * "ALTER ROLE role ROLE rolenames", we don't document it.
  */
-void
+Oid
 AlterRole(AlterRoleStmt *stmt)
 {
        Datum           new_record[Natts_pg_authid];
@@ -799,17 +801,20 @@ AlterRole(AlterRoleStmt *stmt)
         * Close pg_authid, but keep lock till commit.
         */
        heap_close(pg_authid_rel, NoLock);
+
+       return roleid;
 }
 
 
 /*
  * ALTER ROLE ... SET
  */
-void
+Oid
 AlterRoleSet(AlterRoleSetStmt *stmt)
 {
        HeapTuple       roletuple;
        Oid                     databaseid = InvalidOid;
+       Oid         roleid;
 
        roletuple = SearchSysCache1(AUTHNAME, PointerGetDatum(stmt->role));
 
@@ -818,6 +823,8 @@ AlterRoleSet(AlterRoleSetStmt *stmt)
                                (errcode(ERRCODE_UNDEFINED_OBJECT),
                                 errmsg("role \"%s\" does not exist", stmt->role)));
 
+       roleid = HeapTupleGetOid(roletuple);
+
        /*
         * Obtain a lock on the role and make sure it didn't go away in the
         * meantime.
@@ -853,6 +860,8 @@ AlterRoleSet(AlterRoleSetStmt *stmt)
 
        AlterSetting(databaseid, HeapTupleGetOid(roletuple), stmt->setstmt);
        ReleaseSysCache(roletuple);
+
+       return roleid;
 }
 
 
index 55b0fed5f79c8e28fd51ef921fd2a799682cade0..9bb06ba1181cb08cd8b329f2023f7b819a238a3f 100644 (file)
@@ -191,7 +191,7 @@ InsertRule(char *rulname,
  * DefineRule
  *             Execute a CREATE RULE command.
  */
-void
+Oid
 DefineRule(RuleStmt *stmt, const char *queryString)
 {
        List       *actions;
@@ -208,13 +208,13 @@ DefineRule(RuleStmt *stmt, const char *queryString)
        relId = RangeVarGetRelid(stmt->relation, AccessExclusiveLock, false);
 
        /* ... and execute */
-       DefineQueryRewrite(stmt->rulename,
-                                          relId,
-                                          whereClause,
-                                          stmt->event,
-                                          stmt->instead,
-                                          stmt->replace,
-                                          actions);
+       return DefineQueryRewrite(stmt->rulename,
+                                                         relId,
+                                                         whereClause,
+                                                         stmt->event,
+                                                         stmt->instead,
+                                                         stmt->replace,
+                                                         actions);
 }
 
 
@@ -225,7 +225,7 @@ DefineRule(RuleStmt *stmt, const char *queryString)
  * This is essentially the same as DefineRule() except that the rule's
  * action and qual have already been passed through parse analysis.
  */
-void
+Oid
 DefineQueryRewrite(char *rulename,
                                   Oid event_relid,
                                   Node *event_qual,
@@ -239,6 +239,7 @@ DefineQueryRewrite(char *rulename,
        ListCell   *l;
        Query      *query;
        bool            RelisBecomingView = false;
+       Oid         ruleId = InvalidOid;
 
        /*
         * If we are installing an ON SELECT rule, we had better grab
@@ -489,14 +490,14 @@ DefineQueryRewrite(char *rulename,
        /* discard rule if it's null action and not INSTEAD; it's a no-op */
        if (action != NIL || is_instead)
        {
-               InsertRule(rulename,
-                                  event_type,
-                                  event_relid,
-                                  event_attno,
-                                  is_instead,
-                                  event_qual,
-                                  action,
-                                  replace);
+               ruleId = InsertRule(rulename,
+                                                       event_type,
+                                                       event_relid,
+                                                       event_attno,
+                                                       is_instead,
+                                                       event_qual,
+                                                       action,
+                                                       replace);
 
                /*
                 * Set pg_class 'relhasrules' field TRUE for event relation. If
@@ -527,6 +528,8 @@ DefineQueryRewrite(char *rulename,
 
        /* Close rel, but keep lock till commit... */
        heap_close(event_relation, NoLock);
+
+       return ruleId;
 }
 
 /*
index a42b8e9b535b8866678da484610eb242f2999a7f..1822bebb2cead026064ca6ed83ca2d4491baaa1a 100644 (file)
@@ -708,7 +708,7 @@ standard_ProcessUtility(Node *parsetree,
                        {
                                uint64          processed;
 
-                               processed = DoCopy((CopyStmt *) parsetree, queryString);
+                               DoCopy((CopyStmt *) parsetree, queryString, &processed);
                                if (completionTag)
                                        snprintf(completionTag, COMPLETION_TAG_BUFSIZE,
                                                         "COPY " UINT64_FORMAT, processed);
index 441d8bd253f808d6d027d075dccf74a03678e922..dee8ea0ca0d0f6192f020e12e42a6506a797a195 100644 (file)
@@ -29,7 +29,7 @@
  *------------------------------------------------------------------
  */
 
-extern void CommentObject(CommentStmt *stmt);
+extern Oid CommentObject(CommentStmt *stmt);
 
 extern void DeleteComments(Oid oid, Oid classoid, int32 subid);
 
index 8680ac3ddc1e5c519d35d28d2413bf43e1bab813..4168ea27ece66c13f5960b5a99de963c7635bd58 100644 (file)
@@ -21,7 +21,8 @@
 /* CopyStateData is private in commands/copy.c */
 typedef struct CopyStateData *CopyState;
 
-extern uint64 DoCopy(const CopyStmt *stmt, const char *queryString);
+extern Oid DoCopy(const CopyStmt *stmt, const char *queryString,
+                                 uint64 *processed);
 
 extern void ProcessCopyOptions(CopyState cstate, bool is_from, List *options);
 extern CopyState BeginCopyFrom(Relation rel, const char *filename,
index a48cf5f7b9fd40f36911c424dde4181db1c4219c..d0aaa9f65df44c1ae82bef5446c6055a310f174a 100644 (file)
@@ -52,11 +52,11 @@ typedef struct xl_dbase_drop_rec
        Oid                     tablespace_id;
 } xl_dbase_drop_rec;
 
-extern void createdb(const CreatedbStmt *stmt);
+extern Oid createdb(const CreatedbStmt *stmt);
 extern void dropdb(const char *dbname, bool missing_ok);
 extern Oid RenameDatabase(const char *oldname, const char *newname);
-extern void AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel);
-extern void AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
+extern Oid AlterDatabase(AlterDatabaseStmt *stmt, bool isTopLevel);
+extern Oid AlterDatabaseSet(AlterDatabaseSetStmt *stmt);
 extern Oid AlterDatabaseOwner(const char *dbname, Oid newOwnerId);
 
 extern Oid     get_database_oid(const char *dbname, bool missingok);
index 263f48cc971b03de13a5b8a1de18c6cfe3420bbd..235b10b31d873a4fc152a1d7d126eb303a1c0622 100644 (file)
@@ -26,9 +26,9 @@ extern Oid DefineIndex(IndexStmt *stmt,
                        bool check_rights,
                        bool skip_build,
                        bool quiet);
-extern void ReindexIndex(RangeVar *indexRelation);
-extern void ReindexTable(RangeVar *relation);
-extern void ReindexDatabase(const char *databaseName,
+extern Oid ReindexIndex(RangeVar *indexRelation);
+extern Oid ReindexTable(RangeVar *relation);
+extern Oid ReindexDatabase(const char *databaseName,
                                bool do_system, bool do_user);
 extern char *makeObjectName(const char *name1, const char *name2,
                           const char *label);
@@ -47,8 +47,8 @@ extern void RemoveFunctionById(Oid funcOid);
 extern void SetFunctionReturnType(Oid funcOid, Oid newRetType);
 extern void SetFunctionArgType(Oid funcOid, int argIndex, Oid newArgType);
 extern Oid RenameFunction(List *name, List *argtypes, const char *newname);
-extern void AlterFunction(AlterFunctionStmt *stmt);
-extern void CreateCast(CreateCastStmt *stmt);
+extern Oid AlterFunction(AlterFunctionStmt *stmt);
+extern Oid CreateCast(CreateCastStmt *stmt);
 extern void DropCastById(Oid castOid);
 extern Oid AlterFunctionNamespace(List *name, List *argtypes, bool isagg,
                                                                  const char *newschema);
@@ -66,9 +66,9 @@ extern Oid DefineAggregate(List *name, List *args, bool oldstyle,
 extern Oid RenameAggregate(List *name, List *args, const char *newname);
 
 /* commands/opclasscmds.c */
-extern void DefineOpClass(CreateOpClassStmt *stmt);
-extern void DefineOpFamily(CreateOpFamilyStmt *stmt);
-extern void AlterOpFamily(AlterOpFamilyStmt *stmt);
+extern Oid DefineOpClass(CreateOpClassStmt *stmt);
+extern Oid DefineOpFamily(CreateOpFamilyStmt *stmt);
+extern Oid AlterOpFamily(AlterOpFamilyStmt *stmt);
 extern void RemoveOpClassById(Oid opclassOid);
 extern void RemoveOpFamilyById(Oid opfamilyOid);
 extern void RemoveAmOpEntryById(Oid entryOid);
@@ -87,7 +87,7 @@ extern void RemoveTSParserById(Oid prsId);
 extern Oid DefineTSDictionary(List *names, List *parameters);
 extern Oid RenameTSDictionary(List *oldname, const char *newname);
 extern void RemoveTSDictionaryById(Oid dictId);
-extern void AlterTSDictionary(AlterTSDictionaryStmt *stmt);
+extern Oid AlterTSDictionary(AlterTSDictionaryStmt *stmt);
 
 extern Oid DefineTSTemplate(List *names, List *parameters);
 extern Oid RenameTSTemplate(List *oldname, const char *newname);
@@ -96,7 +96,7 @@ extern void RemoveTSTemplateById(Oid tmplId);
 extern Oid DefineTSConfiguration(List *names, List *parameters);
 extern Oid RenameTSConfiguration(List *oldname, const char *newname);
 extern void RemoveTSConfigurationById(Oid cfgId);
-extern void AlterTSConfiguration(AlterTSConfigurationStmt *stmt);
+extern Oid AlterTSConfiguration(AlterTSConfigurationStmt *stmt);
 
 extern text *serialize_deflist(List *deflist);
 extern List *deserialize_deflist(Datum txt);
@@ -108,15 +108,15 @@ extern Oid AlterForeignServerOwner(const char *name, Oid newOwnerId);
 extern void AlterForeignServerOwner_oid(Oid, Oid newOwnerId);
 extern Oid AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId);
 extern void AlterForeignDataWrapperOwner_oid(Oid fwdId, Oid newOwnerId);
-extern void CreateForeignDataWrapper(CreateFdwStmt *stmt);
-extern void AlterForeignDataWrapper(AlterFdwStmt *stmt);
+extern Oid CreateForeignDataWrapper(CreateFdwStmt *stmt);
+extern Oid AlterForeignDataWrapper(AlterFdwStmt *stmt);
 extern void RemoveForeignDataWrapperById(Oid fdwId);
-extern void CreateForeignServer(CreateForeignServerStmt *stmt);
-extern void AlterForeignServer(AlterForeignServerStmt *stmt);
+extern Oid CreateForeignServer(CreateForeignServerStmt *stmt);
+extern Oid AlterForeignServer(AlterForeignServerStmt *stmt);
 extern void RemoveForeignServerById(Oid srvId);
-extern void CreateUserMapping(CreateUserMappingStmt *stmt);
-extern void AlterUserMapping(AlterUserMappingStmt *stmt);
-extern void RemoveUserMapping(DropUserMappingStmt *stmt);
+extern Oid CreateUserMapping(CreateUserMappingStmt *stmt);
+extern Oid AlterUserMapping(AlterUserMappingStmt *stmt);
+extern Oid RemoveUserMapping(DropUserMappingStmt *stmt);
 extern void RemoveUserMappingById(Oid umId);
 extern void CreateForeignTable(CreateForeignTableStmt *stmt, Oid relid);
 extern Datum transformGenericOptions(Oid catalogId,
index 501da7c4647bfc08f63e5938c4aecbc5163ebc3f..abc713f794494cd1fa5d74d888aca59dd54017e1 100644 (file)
@@ -31,11 +31,11 @@ typedef struct EventTriggerData
 #define CALLED_AS_EVENT_TRIGGER(fcinfo) \
        ((fcinfo)->context != NULL && IsA((fcinfo)->context, EventTriggerData))
 
-extern void CreateEventTrigger(CreateEventTrigStmt *stmt);
+extern Oid CreateEventTrigger(CreateEventTrigStmt *stmt);
 extern void RemoveEventTriggerById(Oid ctrigOid);
 extern Oid     get_event_trigger_oid(const char *trigname, bool missing_ok);
 
-extern void AlterEventTrigger(AlterEventTrigStmt *stmt);
+extern Oid AlterEventTrigger(AlterEventTrigStmt *stmt);
 extern Oid RenameEventTrigger(const char* trigname, const char *newname);
 extern Oid AlterEventTriggerOwner(const char *name, Oid newOwnerId);
 extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId);
index 205807512e26002e9c13ac98cdccc3e1a1c69607..363375f62324f3acfbac6082d7190b45cf355ddd 100644 (file)
@@ -36,9 +36,9 @@ extern Oid InsertExtensionTuple(const char *extName, Oid extOwner,
                                         Datum extConfig, Datum extCondition,
                                         List *requiredExtensions);
 
-extern void ExecAlterExtensionStmt(AlterExtensionStmt *stmt);
+extern Oid ExecAlterExtensionStmt(AlterExtensionStmt *stmt);
 
-extern void ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt);
+extern Oid ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt);
 
 extern Oid     get_extension_oid(const char *extname, bool missing_ok);
 extern char *get_extension_name(Oid ext_oid);
index bc380792e578ed03d55b5723c7fd48599eedfef6..1f17ae4d3dd145dd9b0eb4bb4f83943d680ec2d0 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "nodes/parsenodes.h"
 
-extern void CreateProceduralLanguage(CreatePLangStmt *stmt);
+extern Oid CreateProceduralLanguage(CreatePLangStmt *stmt);
 extern void DropProceduralLanguageById(Oid langOid);
 extern Oid RenameLanguage(const char *oldname, const char *newname);
 extern bool PLTemplateExists(const char *languageName);
index 94b3c39cc1540a5ae883bf6acc4c8ce42c34e636..4866fbe798d807df0e4f5cdb8d49a5dfa4a0cd56 100644 (file)
@@ -24,7 +24,7 @@ extern void DeleteSharedSecurityLabel(Oid objectId, Oid classId);
 /*
  * Statement and ESP hook support
  */
-extern void ExecSecLabelStmt(SecLabelStmt *stmt);
+extern Oid ExecSecLabelStmt(SecLabelStmt *stmt);
 
 typedef void (*check_object_relabel_type) (const ObjectAddress *object,
                                                                                                           const char *seclabel);
index 4d5cb89101ffcb77c6816e77aacdd9cf250e701d..4b88d89de926319d713398354143959bb42b913d 100644 (file)
@@ -39,10 +39,10 @@ typedef struct TableSpaceOpts
        float8          seq_page_cost;
 } TableSpaceOpts;
 
-extern void CreateTableSpace(CreateTableSpaceStmt *stmt);
+extern Oid CreateTableSpace(CreateTableSpaceStmt *stmt);
 extern void DropTableSpace(DropTableSpaceStmt *stmt);
 extern Oid RenameTableSpace(const char *oldname, const char *newname);
-extern void AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt);
+extern Oid AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt);
 
 extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo);
 
index 48ee0163bdaf81d285bfb2f9524a29a85e7fc258..fed9c32daa3c88efc81e41499681bad8185703cc 100644 (file)
 extern Oid DefineType(List *names, List *parameters);
 extern void RemoveTypeById(Oid typeOid);
 extern Oid DefineDomain(CreateDomainStmt *stmt);
-extern void DefineEnum(CreateEnumStmt *stmt);
-extern void DefineRange(CreateRangeStmt *stmt);
-extern void AlterEnum(AlterEnumStmt *stmt, bool isTopLevel);
+extern Oid DefineEnum(CreateEnumStmt *stmt);
+extern Oid DefineRange(CreateRangeStmt *stmt);
+extern Oid AlterEnum(AlterEnumStmt *stmt, bool isTopLevel);
 extern Oid     DefineCompositeType(RangeVar *typevar, List *coldeflist);
 extern Oid     AssignTypeArrayOid(void);
 
-extern void AlterDomainDefault(List *names, Node *defaultRaw);
-extern void AlterDomainNotNull(List *names, bool notNull);
-extern void AlterDomainAddConstraint(List *names, Node *constr);
-extern void AlterDomainValidateConstraint(List *names, char *constrName);
-extern void AlterDomainDropConstraint(List *names, const char *constrName,
+extern Oid AlterDomainDefault(List *names, Node *defaultRaw);
+extern Oid AlterDomainNotNull(List *names, bool notNull);
+extern Oid AlterDomainAddConstraint(List *names, Node *constr);
+extern Oid AlterDomainValidateConstraint(List *names, char *constrName);
+extern Oid AlterDomainDropConstraint(List *names, const char *constrName,
                                                  DropBehavior behavior, bool missing_ok);
 
 extern void checkDomainOwner(HeapTuple tup);
index 650fcea557486f530ad90efe0a6931527189cbd9..fdbfaeff0e888151d1bb3cba577dddd10e02ba3e 100644 (file)
@@ -22,9 +22,9 @@ typedef void (*check_password_hook_type) (const char *username, const char *pass
 
 extern PGDLLIMPORT check_password_hook_type check_password_hook;
 
-extern void CreateRole(CreateRoleStmt *stmt);
-extern void AlterRole(AlterRoleStmt *stmt);
-extern void AlterRoleSet(AlterRoleSetStmt *stmt);
+extern Oid CreateRole(CreateRoleStmt *stmt);
+extern Oid AlterRole(AlterRoleStmt *stmt);
+extern Oid AlterRoleSet(AlterRoleSetStmt *stmt);
 extern void DropRole(DropRoleStmt *stmt);
 extern void GrantRole(GrantRoleStmt *stmt);
 extern Oid RenameRole(const char *oldname, const char *newname);
index 6061725dc4311880f58e37050939f991e1e41f90..c344658f4e6f1b5ec919927228cd1a558edeaf5e 100644 (file)
@@ -22,9 +22,9 @@
 #define RULE_FIRES_ON_REPLICA  'R'
 #define RULE_DISABLED                  'D'
 
-extern void DefineRule(RuleStmt *stmt, const char *queryString);
+extern Oid DefineRule(RuleStmt *stmt, const char *queryString);
 
-extern void DefineQueryRewrite(char *rulename,
+extern Oid DefineQueryRewrite(char *rulename,
                                   Oid event_relid,
                                   Node *event_qual,
                                   CmdType event_type,