diff options
Diffstat (limited to 'src/backend/commands/dropcmds.c')
-rw-r--r-- | src/backend/commands/dropcmds.c | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/src/backend/commands/dropcmds.c b/src/backend/commands/dropcmds.c index 389fc6a102c..db906f530ec 100644 --- a/src/backend/commands/dropcmds.c +++ b/src/backend/commands/dropcmds.c @@ -481,10 +481,45 @@ does_not_exist_skipping(ObjectType objtype, Node *object) msg = gettext_noop("publication \"%s\" does not exist, skipping"); name = strVal(object); break; - default: - elog(ERROR, "unrecognized object type: %d", (int) objtype); + + case OBJECT_COLUMN: + case OBJECT_DATABASE: + case OBJECT_FOREIGN_TABLE: + case OBJECT_INDEX: + case OBJECT_MATVIEW: + case OBJECT_ROLE: + case OBJECT_SEQUENCE: + case OBJECT_SUBSCRIPTION: + case OBJECT_TABLE: + case OBJECT_TABLESPACE: + case OBJECT_VIEW: + /* + * These are handled elsewhere, so if someone gets here the code + * is probably wrong or should be revisited. + */ + elog(ERROR, "unsupported object type: %d", (int) objtype); + break; + + case OBJECT_AMOP: + case OBJECT_AMPROC: + case OBJECT_ATTRIBUTE: + case OBJECT_DEFAULT: + case OBJECT_DEFACL: + case OBJECT_DOMCONSTRAINT: + case OBJECT_LARGEOBJECT: + case OBJECT_PARAMETER_ACL: + case OBJECT_PUBLICATION_NAMESPACE: + case OBJECT_PUBLICATION_REL: + case OBJECT_TABCONSTRAINT: + case OBJECT_USER_MAPPING: + /* These are currently not used or needed. */ + elog(ERROR, "unsupported object type: %d", (int) objtype); break; + + /* no default, to let compiler warn about missing case */ } + if (!msg) + elog(ERROR, "unrecognized object type: %d", (int) objtype); if (!args) ereport(NOTICE, (errmsg(msg, name))); |