Changeset: 2a2f8910191d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/2a2f8910191d Modified Files: sql/server/rel_select.c Branch: literal_features Log Message:
if union operator in plan, invalidate pk_uk_alignment diffs (30 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1219,6 +1219,13 @@ set_dependent_( sql_rel *r) set_dependent(r); } +static +sql_rel* find_union(visitor *v, sql_rel *rel) { + if (rel->op == op_union) + v->data = rel; + return rel; +} + static sql_exp * rel_column_ref(sql_query *query, sql_rel **rel, symbol *column_r, int f) { @@ -1448,6 +1455,12 @@ rel_column_ref(sql_query *query, sql_rel check_pk_with_uk = true; } } + if (check_pk_with_uk) { + visitor v = {.sql=sql}; + rel_visitor_topdown(&v, inner, &find_union); + if (v.data) + check_pk_with_uk = false; + } } if (check_pk_with_uk) { _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org