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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list