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]

Reply via email to