Changeset: 99cd062b51ee for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99cd062b51ee
Modified Files:
        sql/server/rel_optimizer.c
Branch: octbugs
Log Message:

fixed problem with value lists in exp_push_down_prj


diffs (30 lines):

diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -2149,7 +2149,7 @@ exp_push_down_prj(mvc *sql, sql_exp *e, 
                        ne = exps_bind_column2(f->exps, e->l, e->r, NULL);
                if (!ne && !e->l)
                        ne = exps_bind_column(f->exps, e->r, NULL, NULL, 1);
-               if (!ne || (ne->type != e_column && ne->type != e_atom))
+               if (!ne || (ne->type != e_column && (ne->type != e_atom || 
ne->f)))
                        return NULL;
                while (ne && has_label(ne) && f->op == op_project && ne->type 
== e_column) {
                        sql_exp *oe = e, *one = ne;
@@ -2167,7 +2167,7 @@ exp_push_down_prj(mvc *sql, sql_exp *e, 
                                e = oe;
                                break;
                        }
-                       if (ne->type != e_column && ne->type != e_atom)
+                       if (ne->type != e_column && (ne->type != e_atom || 
ne->f))
                                return NULL;
                }
                /* possibly a groupby/project column is renamed */
@@ -2178,7 +2178,7 @@ exp_push_down_prj(mvc *sql, sql_exp *e, 
                        if (!gbe && !e->l)
                                gbe = exps_bind_column(f->r, ne->r, NULL, NULL, 
1);
                        ne = gbe;
-                       if (!ne || (ne->type != e_column && ne->type != e_atom))
+                       if (!ne || (ne->type != e_column && (ne->type != e_atom 
|| ne->f)))
                                return NULL;
                }
                if (ne->type == e_atom)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to