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

Fix for crashing queries. We only support comparisons as join expressions


diffs (33 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
@@ -2210,8 +2210,8 @@ rel2bin_join(backend *be, sql_rel *rel, 
                                sql_exp *e = en->data;
 
                                /* we can handle thetajoins, rangejoins and 
filter joins (like) */
-                               /* ToDo how about in/notin, mark_in/notin, 
mark_exists/not_exists */
-                               if (e->type <= e_cmp) {
+                               /* ToDo how about in/notin, mark_in/notin, 
mark_exists/not_exists and atom expressions? */
+                               if (e->type == e_cmp) {
                                        int flag = e->flag & ~CMP_BETWEEN;
                                        /* check if its a select or join 
expression, ie use only expressions of one relation left and of the other right 
(than join) */
                                        if (flag < cmp_filter && !e->f) { /* 
theta join */
@@ -2234,7 +2234,7 @@ rel2bin_join(backend *be, sql_rel *rel, 
                                                        append(jexps, e);
                                                        continue;
                                                }
-                                       } else if (e->flag == cmp_filter && 
!e->anti) {
+                                       } else if (flag == cmp_filter && 
!e->anti) {
                                                int nrcl = 0, nrcr = 0;
                                                bool fll = true, flr = true, 
frl = true, frr = true;
                                                list *l = e->l, *r = e->r;
@@ -2258,9 +2258,7 @@ rel2bin_join(backend *be, sql_rel *rel, 
                                                        append(jexps, e);
                                                        continue;
                                                }
-
                                        }
-
                                }
                                append(sexps, e);
                        }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to