[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: default - While building a join, don't set it as processed
From:       Pedro_Ferreira <commits+pedro.ferreira=monetdbsolutions.com () mon
Date:       2022-01-29 8:18:11
Message-ID: hg.ed937d31664b.1643444291.-3448873619829295819 () dev ! monetdb ! org
[Download RAW message or body]

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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic