Changeset: 2eea3daf415e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2eea3daf415e
Modified Files:
        sql/server/rel_select.c
Branch: default
Log Message:

computer zero_or_one only when needed


diffs (24 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
@@ -4147,7 +4147,6 @@ rel_value_exp2(mvc *sql, sql_rel **rel, 
                }
                if (!r && sql->session->status != -ERR_AMBIGUOUS) {
                        sql_exp *rs = NULL;
-                       int card = 0;
 
                        if (!*rel)
                                return NULL;
@@ -4157,11 +4156,10 @@ rel_value_exp2(mvc *sql, sql_rel **rel, 
                        sql->errstr[0] = '\0';
 
                        /* add unique */
-                       card = exps_card((*rel)->exps);
                        *rel = r = rel_subquery(sql, *rel, se, ek, f == 
sql_sel?APPLY_LOJ:APPLY_JOIN);
                        if (r) {
                                rs = rel_lastexp(sql, r);
-                               if (f == sql_sel && card > CARD_ATOM && r->card 
> CARD_ATOM && r->r) {
+                               if (f == sql_sel && exp_card(rs) > CARD_ATOM && 
r->card > CARD_ATOM && r->r) {
                                        sql_subaggr *zero_or_one = 
sql_bind_aggr(sql->sa, sql->session->schema, "zero_or_one", exp_subtype(rs));
                                        rs = exp_aggr1(sql->sa, rs, 
zero_or_one, 0, 0, CARD_ATOM, 0);
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to