[PATCH 1/3] FIXUP 0001-catalog-support-for-session-variables
Julien Rouhaud <julien.rouhaud@free.fr>
From: Julien Rouhaud <julien.rouhaud@free.fr>
To:
Date: 2022-09-03T08:11:03Z
Lists: pgsql-hackers
---
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
--vuzhuyepzhyurc52
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
filename="0002-FIXUP-0002-session-variables.txt"