From 4a2dde46129d8b5e07a5bd5635ae6caa2ffd071e Mon Sep 17 00:00:00 2001 From: Ahmet Gedemenli Date: Tue, 26 Jan 2021 21:44:22 +0300 Subject: [PATCH] Fix dropping materialized views while doing alter table (cherry picked from commit 35043c56f1fab76c3a1bdad3cad549e10c6cbeb8) Conflicts: src/backend/distributed/commands/alter_table.c src/test/regress/expected/alter_distributed_table.out src/test/regress/expected/alter_distributed_table_0.out src/test/regress/expected/alter_table_set_access_method.out src/test/regress/sql/alter_distributed_table.sql src/test/regress/sql/alter_table_set_access_method.sql --- src/backend/distributed/metadata/dependency.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/metadata/dependency.c b/src/backend/distributed/metadata/dependency.c index cc11005cc..50f7ec066 100644 --- a/src/backend/distributed/metadata/dependency.c +++ b/src/backend/distributed/metadata/dependency.c @@ -1172,12 +1172,13 @@ GetDependingView(Form_pg_depend pg_depend) Form_pg_rewrite pg_rewrite = (Form_pg_rewrite) GETSTRUCT(rewriteTup); bool isView = get_rel_relkind(pg_rewrite->ev_class) == RELKIND_VIEW; + bool isMatView = get_rel_relkind(pg_rewrite->ev_class) == RELKIND_MATVIEW; bool isDifferentThanRef = pg_rewrite->ev_class != pg_depend->refobjid; systable_endscan(rscan); relation_close(rewriteRel, AccessShareLock); - if (isView && isDifferentThanRef) + if ((isView || isMatView) && isDifferentThanRef) { return pg_rewrite->ev_class; }