Changeset: dc9f8cad1957 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dc9f8cad1957
Modified Files:
        sql/server/rel_multiset.c
Branch: nested
Log Message:

initial handling of left with unnest


diffs (25 lines):

diff --git a/sql/server/rel_multiset.c b/sql/server/rel_multiset.c
--- a/sql/server/rel_multiset.c
+++ b/sql/server/rel_multiset.c
@@ -64,7 +64,12 @@ ms_add_join_exps(visitor *v, sql_rel *re
 static sql_rel *
 fm_join(visitor *v, sql_rel *rel)
 {
-       if (list_empty(rel->exps) && is_dependent(rel)) {
+       if (is_dependent(rel) && list_length(rel->exps) <= 1) {
+               if (list_length(rel->exps) == 1) {
+                       sql_exp *e = rel->exps->h->data;
+                       if (!exp_is_true(e))
+                               return rel;
+               }
                list *exps = rel_projections(v->sql, rel->l, NULL, 0, 1);
                bool needed = has_multiset(exps);
 
@@ -80,6 +85,7 @@ flatten_multiset(visitor *v, sql_rel *re
        (void)v;
        switch(rel->op) {
        case op_join:
+       case op_left:
                return fm_join(v, rel);
        default:
                return rel;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to