Changeset: ed937d31664b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ed937d31664b
Modified Files:
        sql/server/rel_optimizer.c
        sql/server/rel_updates.c
Branch: default
Log Message:

While building a join, don't set it as processed


diffs (86 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
@@ -665,7 +665,6 @@ order_joins(visitor *v, list *rels, list
                top = rel_crossproduct(v->sql->sa, l, r, op_join);
                if (rsingle)
                        set_single(r);
-               set_processed(top);
                rel_join_add_exp(v->sql->sa, top, cje);
 
                /* all other join expressions on these 2 relations */
@@ -735,7 +734,6 @@ order_joins(visitor *v, list *rels, list
                                top = rel_crossproduct(v->sql->sa, top, r, 
op_join);
                                if (rsingle)
                                        set_single(r);
-                               set_processed(top);
                                rel_join_add_exp(v->sql->sa, top, cje);
 
                                /* all join expressions on these tables */
@@ -772,7 +770,6 @@ order_joins(visitor *v, list *rels, list
                                top = rel_crossproduct(v->sql->sa, top, nr, 
op_join);
                                if (rsingle)
                                        set_single(nr);
-                               set_processed(top);
                        } else
                                top = nr;
                }
@@ -876,7 +873,6 @@ push_in_join_down(mvc *sql, list *rels, 
                                        sql_rel *nr = rel_crossproduct(sql->sa, 
l, r, op_join);
                                        if (rsingle)
                                                set_single(r);
-                                       set_processed(nr);
                                        rel_join_add_exp(sql->sa, nr, je);
                                        list_append(rels, nr);
                                        list_remove_data(rels, NULL, l);
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -1035,7 +1035,6 @@ update_generate_assignments(sql_query *q
                                }
                                r = rel_crossproduct(sql->sa, r, rel_val, 
op_left);
                                set_dependent(r);
-                               set_processed(r);
                                if (single) {
                                        v = exp_column(sql->sa, NULL, 
exp_name(v), exp_subtype(v), v->card, has_nil(v), is_unique(v), is_intern(v));
                                        rel_val = NULL;
@@ -1163,7 +1162,6 @@ update_table(sql_query *query, dlist *qn
                                        return NULL;
                                if (fnd && tables) {
                                        tables = rel_crossproduct(sql->sa, 
tables, fnd, op_join);
-                                       set_processed(tables);
                                } else {
                                        tables = fnd;
                                }
@@ -1172,7 +1170,6 @@ update_table(sql_query *query, dlist *qn
                                return NULL;
                        res = rel_crossproduct(sql->sa, res, tables, op_join);
                        set_single(res);
-                       set_processed(res);
                }
                if (opt_where) {
                        if (!(r = rel_logical_exp(query, res, opt_where, 
sql_where)))
@@ -1344,7 +1341,6 @@ merge_into_table(sql_query *query, dlist
                                        join_rel = rel_crossproduct(sql->sa, 
bt, joined, op_left);
                                        if (!(join_rel = rel_logical_exp(query, 
join_rel, search_cond, sql_where | sql_join | sql_merge)))
                                                return NULL;
-                                       set_processed(join_rel);
                                }
 
                                extra_project = rel_project(sql->sa, join_rel, 
rel_projections(sql, join_rel, NULL, 1, 1));
@@ -1358,7 +1354,6 @@ merge_into_table(sql_query *query, dlist
                                        join_rel = rel_crossproduct(sql->sa, 
bt, joined, op_left);
                                        if (!(join_rel = rel_logical_exp(query, 
join_rel, search_cond, sql_where | sql_join | sql_merge)))
                                                return NULL;
-                                       set_processed(join_rel);
                                }
 
                                extra_project = rel_project(sql->sa, join_rel, 
list_append(new_exp_list(sql->sa), exp_column(sql->sa, bt_name, TID, 
sql_bind_localtype("oid"), CARD_MULTI, 0, 1, 1)));
@@ -1382,7 +1377,6 @@ merge_into_table(sql_query *query, dlist
                                join_rel = rel_crossproduct(sql->sa, bt, 
joined, op_left);
                                if (!(join_rel = rel_logical_exp(query, 
join_rel, search_cond, sql_where | sql_join | sql_merge)))
                                        return NULL;
-                               set_processed(join_rel);
                        }
 
                        extra_project = rel_project(sql->sa, join_rel, 
rel_projections(sql, joined, NULL, 1, 0));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to