mirror of https://github.com/citusdata/citus.git
Fix dropping materialized views while doing alter table
(cherry picked from commit 35043c56f1
)
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
pull/5409/head
parent
209049006c
commit
4a2dde4612
|
@ -1172,12 +1172,13 @@ GetDependingView(Form_pg_depend pg_depend)
|
||||||
Form_pg_rewrite pg_rewrite = (Form_pg_rewrite) GETSTRUCT(rewriteTup);
|
Form_pg_rewrite pg_rewrite = (Form_pg_rewrite) GETSTRUCT(rewriteTup);
|
||||||
|
|
||||||
bool isView = get_rel_relkind(pg_rewrite->ev_class) == RELKIND_VIEW;
|
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;
|
bool isDifferentThanRef = pg_rewrite->ev_class != pg_depend->refobjid;
|
||||||
|
|
||||||
systable_endscan(rscan);
|
systable_endscan(rscan);
|
||||||
relation_close(rewriteRel, AccessShareLock);
|
relation_close(rewriteRel, AccessShareLock);
|
||||||
|
|
||||||
if (isView && isDifferentThanRef)
|
if ((isView || isMatView) && isDifferentThanRef)
|
||||||
{
|
{
|
||||||
return pg_rewrite->ev_class;
|
return pg_rewrite->ev_class;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue