Changeset: 5065f83ada1d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/5065f83ada1d
Modified Files:
sql/server/rel_optimize_sel.c
Branch: manti
Log Message:
(GDKdebug & oahash_enabled) has been replaced by
MT_thread_get_qry_ctx()->pipeline_mode
This solves many crashes/timeouts, probably because selections are pushed down
again
diffs (23 lines):
diff --git a/sql/server/rel_optimize_sel.c b/sql/server/rel_optimize_sel.c
--- a/sql/server/rel_optimize_sel.c
+++ b/sql/server/rel_optimize_sel.c
@@ -3065,9 +3065,8 @@ rel_push_select_down(visitor *v, sql_rel
}
exps = rel->exps;
- ATOMIC_TYPE oahash_enabled = (1U<<19);
/* push select through join */
- if (is_select(rel->op) && r && is_join(r->op) && list_empty(r->attr) &&
(GDKdebug & oahash_enabled) && !rel_is_ref(r) && !is_single(r)){
+ if (is_select(rel->op) && r && is_join(r->op) && list_empty(r->attr) &&
(MT_thread_get_qry_ctx()->pipeline_mode) && !rel_is_ref(r) && !is_single(r)){
sql_rel *jl = r->l, *ojl = jl, *jr = r->r, *ojr = jr;
int left = r->op == op_join || r->op == op_left;
int right = r->op == op_join || r->op == op_right;
@@ -3109,7 +3108,7 @@ rel_push_select_down(visitor *v, sql_rel
}
/* merge select and cross product ? TODO a more precies way to check if
we can merge a select and a group-join than simply disable it with
list_empty(r->attr) */
- if (is_select(rel->op) && r && r->op == op_join && list_empty(r->attr)
&& (GDKdebug & oahash_enabled) && !rel_is_ref(r) && !is_single(r) &&
!exps_have_unsafe(exps, false, true)) {
+ if (is_select(rel->op) && r && r->op == op_join && list_empty(r->attr)
&& (MT_thread_get_qry_ctx()->pipeline_mode) && !rel_is_ref(r) && !is_single(r)
&& !exps_have_unsafe(exps, false, true)) {
for (n = exps->h; n;) {
node *next = n->next;
sql_exp *e = n->data;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]