aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/foreigncmds.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-12-29 07:55:37 -0500
committerRobert Haas <rhaas@postgresql.org>2012-12-29 07:55:37 -0500
commit82b1b213cad3a69cf5f3dfaa81687c14366960fc (patch)
treee19129f124c02d7ef274393d584de97cc18a5f66 /src/backend/commands/foreigncmds.c
parent5ab3af46ddd2f2c2b248f1ffdb688b394d4bb387 (diff)
downloadpostgresql-82b1b213cad3a69cf5f3dfaa81687c14366960fc.tar.gz
postgresql-82b1b213cad3a69cf5f3dfaa81687c14366960fc.zip
Adjust more backend functions to return OID rather than void.
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
Diffstat (limited to 'src/backend/commands/foreigncmds.c')
-rw-r--r--src/backend/commands/foreigncmds.c34
1 files changed, 24 insertions, 10 deletions
diff --git a/src/backend/commands/foreigncmds.c b/src/backend/commands/foreigncmds.c
index af833b886bf..5a504a29e5a 100644
--- a/src/backend/commands/foreigncmds.c
+++ b/src/backend/commands/foreigncmds.c
@@ -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;
}