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/schemacmds.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/schemacmds.c')
-rw-r--r-- | src/backend/commands/schemacmds.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/backend/commands/schemacmds.c b/src/backend/commands/schemacmds.c index e69c86bbabf..4aff37fffd2 100644 --- a/src/backend/commands/schemacmds.c +++ b/src/backend/commands/schemacmds.c @@ -38,7 +38,7 @@ static void AlterSchemaOwner_internal(HeapTuple tup, Relation rel, Oid newOwnerI /* * CREATE SCHEMA */ -void +Oid CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString) { const char *schemaName = stmt->schemaname; @@ -97,7 +97,7 @@ CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString) (errcode(ERRCODE_DUPLICATE_SCHEMA), errmsg("schema \"%s\" already exists, skipping", schemaName))); - return; + return InvalidOid; } /* @@ -163,6 +163,8 @@ CreateSchemaCommand(CreateSchemaStmt *stmt, const char *queryString) /* Reset current user and security context */ SetUserIdAndSecContext(saved_uid, save_sec_context); + + return namespaceId; } /* @@ -192,9 +194,10 @@ RemoveSchemaById(Oid schemaOid) /* * Rename schema */ -void +Oid RenameSchema(const char *oldname, const char *newname) { + Oid nspOid; HeapTuple tup; Relation rel; AclResult aclresult; @@ -207,6 +210,8 @@ RenameSchema(const char *oldname, const char *newname) (errcode(ERRCODE_UNDEFINED_SCHEMA), errmsg("schema \"%s\" does not exist", oldname))); + nspOid = HeapTupleGetOid(tup); + /* make sure the new name doesn't exist */ if (OidIsValid(get_namespace_oid(newname, true))) ereport(ERROR, @@ -237,6 +242,8 @@ RenameSchema(const char *oldname, const char *newname) heap_close(rel, NoLock); heap_freetuple(tup); + + return nspOid; } void @@ -262,9 +269,10 @@ AlterSchemaOwner_oid(Oid oid, Oid newOwnerId) /* * Change schema owner */ -void +Oid AlterSchemaOwner(const char *name, Oid newOwnerId) { + Oid nspOid; HeapTuple tup; Relation rel; @@ -276,11 +284,15 @@ AlterSchemaOwner(const char *name, Oid newOwnerId) (errcode(ERRCODE_UNDEFINED_SCHEMA), errmsg("schema \"%s\" does not exist", name))); + nspOid = HeapTupleGetOid(tup); + AlterSchemaOwner_internal(tup, rel, newOwnerId); ReleaseSysCache(tup); heap_close(rel, RowExclusiveLock); + + return nspOid; } static void |