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

Reply via email to