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

make sure a between (l.a 'const' <= l.l <= r.a) is seen as a select expression 
(ie in sqlancer02 test we need a cross first). TODO create optimizer to split 
this between and to check better for constants.


diffs (19 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
@@ -2244,11 +2244,11 @@ split_join_exps(sql_rel *rel, list *join
                                                int nrcr1 = 0, nrcr2 = 0, nrcl1 
= 0, nrcl2 = 0;
 
                                                if ((ll && !rl &&
-                                                  ((rr && !lr) || (nrcr1 = 
r->card == CARD_ATOM)) &&
-                                                  ((rf && !lf) || (nrcr2 = 
f->card == CARD_ATOM)) && (nrcr1+nrcr2) <= 1) ||
+                                                  ((rr && !lr) || (nrcr1 = 
r->card == CARD_ATOM && exp_is_atom(r))) &&
+                                                  ((rf && !lf) || (nrcr2 = 
f->card == CARD_ATOM && exp_is_atom(f))) && (nrcr1+nrcr2) <= 1) ||
                                                    (rl && !ll &&
-                                                  ((lr && !rr) || (nrcl1 = 
r->card == CARD_ATOM)) &&
-                                                  ((lf && !rf) || (nrcl2 = 
f->card == CARD_ATOM)) && (nrcl1+nrcl2) <= 1)) {
+                                                  ((lr && !rr) || (nrcl1 = 
r->card == CARD_ATOM && exp_is_atom(r))) &&
+                                                  ((lf && !rf) || (nrcl2 = 
f->card == CARD_ATOM && exp_is_atom(f))) && (nrcl1+nrcl2) <= 1)) {
                                                        left_reference = 
right_reference = 1;
                                                }
                                        } else {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to