summaryrefslogtreecommitdiff
path: root/src/backend/commands/schemacmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/schemacmds.c')
-rw-r--r--src/backend/commands/schemacmds.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/backend/commands/schemacmds.c b/src/backend/commands/schemacmds.c
index a44dbf453e4..722142e16ea 100644
--- a/src/backend/commands/schemacmds.c
+++ b/src/backend/commands/schemacmds.c
@@ -195,13 +195,14 @@ RemoveSchemaById(Oid schemaOid)
/*
* Rename schema
*/
-Oid
+ObjectAddress
RenameSchema(const char *oldname, const char *newname)
{
Oid nspOid;
HeapTuple tup;
Relation rel;
AclResult aclresult;
+ ObjectAddress address;
rel = heap_open(NamespaceRelationId, RowExclusiveLock);
@@ -243,10 +244,12 @@ RenameSchema(const char *oldname, const char *newname)
InvokeObjectPostAlterHook(NamespaceRelationId, HeapTupleGetOid(tup), 0);
+ ObjectAddressSet(address, NamespaceRelationId, nspOid);
+
heap_close(rel, NoLock);
heap_freetuple(tup);
- return nspOid;
+ return address;
}
void
@@ -272,12 +275,13 @@ AlterSchemaOwner_oid(Oid oid, Oid newOwnerId)
/*
* Change schema owner
*/
-Oid
+ObjectAddress
AlterSchemaOwner(const char *name, Oid newOwnerId)
{
Oid nspOid;
HeapTuple tup;
Relation rel;
+ ObjectAddress address;
rel = heap_open(NamespaceRelationId, RowExclusiveLock);
@@ -291,11 +295,13 @@ AlterSchemaOwner(const char *name, Oid newOwnerId)
AlterSchemaOwner_internal(tup, rel, newOwnerId);
+ ObjectAddressSet(address, NamespaceRelationId, nspOid);
+
ReleaseSysCache(tup);
heap_close(rel, RowExclusiveLock);
- return nspOid;
+ return address;
}
static void