diff options
author | Robert Haas <rhaas@postgresql.org> | 2012-12-23 18:25:03 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2012-12-23 18:37:58 -0500 |
commit | c504513f83a9ee8dce4a719746ca73102cae9f13 (patch) | |
tree | 3664999ca3242003181bef1fa171e28fe557ecb9 /src/backend/commands/foreigncmds.c | |
parent | 31bc839724439440b2e94ea616b28ce5be94e19c (diff) | |
download | postgresql-c504513f83a9ee8dce4a719746ca73102cae9f13.tar.gz postgresql-c504513f83a9ee8dce4a719746ca73102cae9f13.zip |
Adjust many backend functions to return OID rather than void.
Extracted from a larger patch by Dimitri Fontaine. It is hoped that
this will provide infrastructure for enriching the new event trigger
functionality, but it seems possibly useful for other purposes as
well.
Diffstat (limited to 'src/backend/commands/foreigncmds.c')
-rw-r--r-- | src/backend/commands/foreigncmds.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/backend/commands/foreigncmds.c b/src/backend/commands/foreigncmds.c index f10cb5252d9..af833b886bf 100644 --- a/src/backend/commands/foreigncmds.c +++ b/src/backend/commands/foreigncmds.c @@ -204,9 +204,10 @@ GetUserOidFromMapping(const char *username, bool missing_ok) /* * Rename foreign-data wrapper */ -void +Oid RenameForeignDataWrapper(const char *oldname, const char *newname) { + Oid fdwId; HeapTuple tup; Relation rel; @@ -218,6 +219,8 @@ RenameForeignDataWrapper(const char *oldname, const char *newname) (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("foreign-data wrapper \"%s\" does not exist", oldname))); + fdwId = HeapTupleGetOid(tup); + /* make sure the new name doesn't exist */ if (SearchSysCacheExists1(FOREIGNDATAWRAPPERNAME, CStringGetDatum(newname))) ereport(ERROR, @@ -236,15 +239,18 @@ RenameForeignDataWrapper(const char *oldname, const char *newname) heap_close(rel, NoLock); heap_freetuple(tup); + + return fdwId; } /* * Rename foreign server */ -void +Oid RenameForeignServer(const char *oldname, const char *newname) { + Oid srvId; HeapTuple tup; Relation rel; @@ -256,6 +262,8 @@ RenameForeignServer(const char *oldname, const char *newname) (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("server \"%s\" does not exist", oldname))); + srvId = HeapTupleGetOid(tup); + /* make sure the new name doesn't exist */ if (SearchSysCacheExists1(FOREIGNSERVERNAME, CStringGetDatum(newname))) ereport(ERROR, @@ -274,6 +282,8 @@ RenameForeignServer(const char *oldname, const char *newname) heap_close(rel, NoLock); heap_freetuple(tup); + + return srvId; } @@ -325,9 +335,10 @@ AlterForeignDataWrapperOwner_internal(Relation rel, HeapTuple tup, Oid newOwnerI * * Note restrictions in the "_internal" function, above. */ -void +Oid AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId) { + Oid fdwId; HeapTuple tup; Relation rel; @@ -340,11 +351,15 @@ AlterForeignDataWrapperOwner(const char *name, Oid newOwnerId) (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("foreign-data wrapper \"%s\" does not exist", name))); + fdwId = HeapTupleGetOid(tup); + AlterForeignDataWrapperOwner_internal(rel, tup, newOwnerId); heap_freetuple(tup); heap_close(rel, RowExclusiveLock); + + return fdwId; } /* @@ -426,9 +441,10 @@ AlterForeignServerOwner_internal(Relation rel, HeapTuple tup, Oid newOwnerId) /* * Change foreign server owner -- by name */ -void +Oid AlterForeignServerOwner(const char *name, Oid newOwnerId) { + Oid servOid; HeapTuple tup; Relation rel; @@ -441,11 +457,15 @@ AlterForeignServerOwner(const char *name, Oid newOwnerId) (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("server \"%s\" does not exist", name))); + servOid = HeapTupleGetOid(tup); + AlterForeignServerOwner_internal(rel, tup, newOwnerId); heap_freetuple(tup); heap_close(rel, RowExclusiveLock); + + return servOid; } /* |