Changeset: 371fb29d1701 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/371fb29d1701 Modified Files: sql/server/rel_rel.c sql/server/rel_unnest.c sql/server/sql_query.c Branch: default Log Message:
don't mess with cardinality just cleanup the assert. diffs (40 lines): diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -839,8 +839,6 @@ rel_project(sql_allocator *sa, sql_rel * rel->nrcols = l->nrcols; rel->single = is_single(l); } - if (rel->card == CARD_AGGR) - rel->card = CARD_MULTI; if (e && !list_empty(e)) { set_processed(rel); rel->nrcols = list_length(e); diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -1996,11 +1996,8 @@ exp_reset_card_and_freevar_set_physical_ } if (is_simple_project(rel->op) && need_distinct(rel)) /* Need distinct, all expressions should have CARD_AGGR at max */ e->card = MIN(e->card, CARD_AGGR); - if (!is_set(rel->op) && (!is_groupby(rel->op) || !list_empty(rel->r))){ /* global groupings have atomic cardinality */ + if (!is_set(rel->op) && (!is_groupby(rel->op) || !list_empty(rel->r))) /* global groupings have atomic cardinality */ rel->card = MAX(e->card, rel->card); /* the relation cardinality may get updated too */ - if (!is_groupby(rel->op) && rel->card == CARD_AGGR) - rel->card = CARD_MULTI; - } return e; } diff --git a/sql/server/sql_query.c b/sql/server/sql_query.c --- a/sql/server/sql_query.c +++ b/sql/server/sql_query.c @@ -102,7 +102,7 @@ query_outer_used_exp(sql_query *q, int i sq->last_used = e; sq->used_card = sq->rel->card; - assert( (!is_sql_aggr(f) && sq->grouped == 0 && e->card != CARD_AGGR) || /* outer is a none grouped relation */ + assert( (!is_sql_aggr(f) && sq->grouped == 0) || /* outer is a none grouped relation */ (!is_sql_aggr(f) && sq->grouped == 1 && e->card <= CARD_AGGR) || /* outer is groupbed, ie only return aggregations or groupby cols */ (is_sql_aggr(f) && !is_sql_farg(f) && !sq->grouped && e->card != CARD_AGGR) || /* a column/constant to be aggregated */ (is_sql_aggr(f) && !is_sql_farg(f) && sq->grouped && e->card != CARD_AGGR) || /* a column/constant to be aggregated */ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list