diff options
Diffstat (limited to 'src/backend/catalog/objectaddress.c')
| -rw-r--r-- | src/backend/catalog/objectaddress.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index a81d1198e4..c4608f7f17 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -111,6 +111,7 @@ get_object_address(ObjectType objtype, List *objname, List *objargs, case OBJECT_SEQUENCE: case OBJECT_TABLE: case OBJECT_VIEW: + case OBJECT_FOREIGN_TABLE: relation = get_relation_by_qualified_name(objtype, objname, lockmode); address.classId = RelationRelationId; @@ -369,6 +370,13 @@ get_relation_by_qualified_name(ObjectType objtype, List *objname, errmsg("\"%s\" is not a view", RelationGetRelationName(relation)))); break; + case OBJECT_FOREIGN_TABLE: + if (relation->rd_rel->relkind != RELKIND_FOREIGN_TABLE) + ereport(ERROR, + (errcode(ERRCODE_WRONG_OBJECT_TYPE), + errmsg("\"%s\" is not a foreign table", + RelationGetRelationName(relation)))); + break; default: elog(ERROR, "unrecognized objtype: %d", (int) objtype); break; |
