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