Thread

  1. [PATCH 1/3] FIXUP 0001-catalog-support-for-session-variables

    Julien Rouhaud <julien.rouhaud@free.fr> — 2022-09-03T08:11:03Z

    ---
     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"