diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-06-13 09:03:28 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-06-13 09:19:30 +0200 |
commit | 8f5b5967441f05e56446fa4cdeffd0774c01e553 (patch) | |
tree | b9f50e27f0b54746a7734b6ec73758695651de13 /src/backend/commands/extension.c | |
parent | a332b366d4fa19ee3578a864993a8dc7abb47177 (diff) | |
download | postgresql-8f5b5967441f05e56446fa4cdeffd0774c01e553.tar.gz postgresql-8f5b5967441f05e56446fa4cdeffd0774c01e553.zip |
Refactor AlterExtensionContentsStmt grammar
Make use of the general object support already used by COMMENT, DROP,
and SECURITY LABEL.
Discussion: https://www.postgresql.org/message-id/flat/163c00a5-f634-ca52-fc7c-0e53deda8735%402ndquadrant.com
Diffstat (limited to 'src/backend/commands/extension.c')
-rw-r--r-- | src/backend/commands/extension.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 9b669d95b80..472e69fdaf9 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -3269,6 +3269,25 @@ ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt, Relation relation; Oid oldExtension; + switch (stmt->objtype) + { + case OBJECT_DATABASE: + case OBJECT_EXTENSION: + case OBJECT_INDEX: + case OBJECT_PUBLICATION: + case OBJECT_ROLE: + case OBJECT_STATISTIC_EXT: + case OBJECT_SUBSCRIPTION: + case OBJECT_TABLESPACE: + ereport(ERROR, + (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), + errmsg("cannot add an object of this type to an extension"))); + break; + default: + /* OK */ + break; + } + extension.classId = ExtensionRelationId; extension.objectId = get_extension_oid(stmt->extname, false); extension.objectSubId = 0; |