Changeset: 54ec6b50050e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54ec6b50050e
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: Jun2020
Log Message:
if we allow e_cmp's nested we should handle them too.
diffs (30 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
@@ -878,8 +878,6 @@ exp_bin(backend *be, sql_exp *e, stmt *l
int swapped = 0, is_select = 0;
sql_exp *re = e->r, *re2 = e->f;
- assert((reduce && !depth) || e->flag == cmp_in || e->flag ==
cmp_notin);
-
/* general predicate, select and join */
if (e->flag == cmp_filter) {
list *args;
@@ -1068,7 +1066,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l
}
} else {
if (r2) {
- if (l->nrcols == 0 && r->nrcols == 0 &&
r2->nrcols == 0) {
+ if (!reduce || (l->nrcols == 0 && r->nrcols ==
0 && r2->nrcols == 0)) {
sql_subtype *bt =
sql_bind_localtype("bit");
sql_subfunc *lf =
sql_bind_func(sql->sa, sql->session->schema,
compare_func(range2lcompare(e->flag), 0),
@@ -1111,7 +1109,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l
}
} else {
/* value compare or select */
- if (l->nrcols == 0 && r->nrcols == 0 &&
(e->flag == mark_in || e->flag == mark_notin)) {
+ if (!reduce || (l->nrcols == 0 && r->nrcols ==
0 && (e->flag == mark_in || e->flag == mark_notin))) {
sql_subfunc *f = sql_bind_func(sql->sa,
sql->session->schema, "=", tail_type(l), tail_type(l), F_FUNC);
assert(f);
s = stmt_binop(be, l, r, f);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list