Changeset: 492ae1545a48 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=492ae1545a48
Modified Files:
        sql/backends/monet5/rel_bin.c
Branch: Jun2020
Log Message:

small fix on detection of rangejoin vs rangeselects in rel2bin_join


diffs (22 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -2221,13 +2221,13 @@ rel2bin_join(backend *be, sql_rel *rel, 
                                                        continue;
                                                }
                                        } else if (flag <= cmp_filter && e->f) 
{ /* range */
-                                               int nrcr = 0, nrcl = 0;
+                                               int nrcr1 = 0, nrcr2 = 0, nrcl1 
= 0, nrcl2 = 0;
                                                if ((rel_find_exp(rel->l, e->l) 
&& !rel_find_exp(rel->r, e->l) &&
-                                                  ((rel_find_exp(rel->r, e->r) 
&& !rel_find_exp(rel->l, e->r)) || (nrcr += exp_is_atom(e->r))) &&
-                                                  ((rel_find_exp(rel->r, e->f) 
&& !rel_find_exp(rel->l, e->f)) || (nrcr += exp_is_atom(e->f))) && nrcr <= 1) ||
+                                                  ((rel_find_exp(rel->r, e->r) 
&& !rel_find_exp(rel->l, e->r)) || (nrcr1 = exp_is_atom(e->r))) &&
+                                                  ((rel_find_exp(rel->r, e->f) 
&& !rel_find_exp(rel->l, e->f)) || (nrcr2 = exp_is_atom(e->f))) && 
(nrcr1+nrcr2) <= 1) ||
                                                    (rel_find_exp(rel->r, e->l) 
&& !rel_find_exp(rel->l, e->l) &&
-                                                  ((rel_find_exp(rel->l, e->r) 
&& !rel_find_exp(rel->r, e->r)) || (nrcl += exp_is_atom(e->r))) &&
-                                                  ((rel_find_exp(rel->l, e->f) 
&& !rel_find_exp(rel->r, e->f)) || (nrcl += exp_is_atom(e->f))) && nrcl <= 1)) {
+                                                  ((rel_find_exp(rel->l, e->r) 
&& !rel_find_exp(rel->r, e->r)) || (nrcl1 = exp_is_atom(e->r))) &&
+                                                  ((rel_find_exp(rel->l, e->f) 
&& !rel_find_exp(rel->r, e->f)) || (nrcl2 = exp_is_atom(e->f))) && 
(nrcl1+nrcl2) <= 1)) {
                                                        append(jexps, e);
                                                        continue;
                                                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to