From 43adcd5ed555fd4920061f643c8392c54d8b625e Mon Sep 17 00:00:00 2001 From: Julien Rouhaud Date: Sat, 3 Sep 2022 16:11:03 +0800 Subject: [PATCH 1/3] FIXUP 0001-catalog-support-for-session-variables --- src/backend/commands/tablecmds.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index d7418e088e..65e1c1e670 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -6518,6 +6518,22 @@ find_composite_type_dependencies(Oid typeOid, Relation origRelation, RelationGetRelationName(origRelation), get_namespace_name(get_session_variable_namespace(varid)), get_session_variable_name(varid)))); + else if (origRelation->rd_rel->relkind == RELKIND_FOREIGN_TABLE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter foreign table \"%s\" because session variable \"%s.%s\" uses it", + RelationGetRelationName(origRelation), + get_namespace_name(get_session_variable_namespace(varid)), + get_session_variable_name(varid)))); + else if (origRelation->rd_rel->relkind == RELKIND_RELATION || + origRelation->rd_rel->relkind == RELKIND_MATVIEW || + origRelation->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter table \"%s\" because session variable \"%s.%s\" uses it", + RelationGetRelationName(origRelation), + get_namespace_name(get_session_variable_namespace(varid)), + get_session_variable_name(varid)))); } /* Else, ignore dependees that aren't user columns of relations */ -- 2.37.0