Changeset: 73ea7e3782f2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/73ea7e3782f2
Modified Files:
sql/server/rel_optimizer.c
sql/server/rel_propagate.c
sql/server/rel_rel.c
Branch: default
Log Message:
Set more relations as processed
diffs (73 lines):
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -4016,6 +4016,7 @@ rel_push_aggr_down(visitor *v, sql_rel *
ul->card = g->card;
ul->exps = exps_copy(v->sql, g->exps);
ul->nrcols = list_length(ul->exps);
+ set_processed(ul);
ur = rel_groupby(v->sql, ur, NULL);
ur->r = rgbe;
@@ -4023,6 +4024,7 @@ rel_push_aggr_down(visitor *v, sql_rel *
ur->card = g->card;
ur->exps = exps_copy(v->sql, g->exps);
ur->nrcols = list_length(ur->exps);
+ set_processed(ur);
/* group by on primary keys which define the partioning scheme
* don't need a finalizing group by */
@@ -9849,6 +9851,7 @@ rel_setjoins_2_joingroupby(visitor *v, s
} else {
rel = rel_groupby(v->sql, rel,
list_append(sa_list(v->sql->sa), exp_ref(v->sql, lid)));
rel->exps = aexps;
+ set_processed(rel);
}
}
}
diff --git a/sql/server/rel_propagate.c b/sql/server/rel_propagate.c
--- a/sql/server/rel_propagate.c
+++ b/sql/server/rel_propagate.c
@@ -217,6 +217,7 @@ create_range_partition_anti_rel(sql_quer
anti_rel = rel_groupby(sql, anti_rel, NULL);
aggr = exp_aggr(sql->sa, NULL, cf, 0, 0, anti_rel->card, 0);
(void) rel_groupby_add_aggr(sql, anti_rel, aggr);
+ set_processed(anti_rel);
exp_label(sql->sa, aggr, ++sql->label);
/* generate the exception */
@@ -259,6 +260,7 @@ create_list_partition_anti_rel(sql_query
anti_rel = rel_groupby(sql, anti_rel, NULL);
aggr = exp_aggr(sql->sa, NULL, cf, 0, 0, anti_rel->card, 0);
(void) rel_groupby_add_aggr(sql, anti_rel, aggr);
+ set_processed(anti_rel);
exp_label(sql->sa, aggr, ++sql->label);
/* generate the exception */
@@ -866,6 +868,7 @@ rel_generate_subinserts(sql_query *query
anti_rel = rel_groupby(sql, anti_rel, NULL);
aggr = exp_aggr(sql->sa, NULL, cf, 0, 0, anti_rel->card, 0);
(void) rel_groupby_add_aggr(sql, anti_rel, aggr);
+ set_processed(anti_rel);
exp_label(sql->sa, aggr, ++sql->label);
aggr = exp_ref(sql, aggr);
@@ -1041,6 +1044,7 @@ rel_subtable_insert(sql_query *query, sq
aggr = exp_aggr(sql->sa, NULL, cf, 0, 0, anti_dup->card, 0);
(void) rel_groupby_add_aggr(sql, anti_dup, aggr);
exp_label(sql->sa, aggr, ++sql->label);
+ set_processed(anti_dup);
/* generate the exception */
aggr = exp_ref(sql, aggr);
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
@@ -1664,6 +1664,7 @@ rel_return_zero_or_one(mvc *sql, sql_rel
e = exp_aggr1(sql->sa, e, zero_or_one, 0, 0, CARD_ATOM,
has_nil(e));
(void)rel_groupby_add_aggr(sql, rel, e);
}
+ set_processed(rel);
}
return rel;
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]