Changeset: e9c19dd387e7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e9c19dd387e7
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/server/rel_optimizer.c
        sql/server/rel_updates.c
Branch: Jul2017
Log Message:

fixed bug 6348, only rename non constant expressions
fixed bug 6352, when pushing projects up, we should include subqueries.


diffs (37 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
@@ -271,6 +271,9 @@ value_list(backend *be, list *vals, stmt
                sql_exp *e = n->data;
                stmt *i = exp_bin(be, e, left, NULL, NULL, NULL, NULL, sel);
 
+               if (!i)
+                       return NULL;
+
                if (list_length(vals) == 1)
                        return i;
                
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
@@ -5500,7 +5500,7 @@ rel_push_project_up(int *changes, mvc *s
                                }
                        }
                } else if (is_join(rel->op)) {
-                       list *r_exps = rel_projections(sql, r, NULL, 1, 1);
+                       list *r_exps = rel_projections(sql, r, NULL, 1, 2);
 
                        list_merge(exps, r_exps, (fdup)NULL);
                }
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -498,7 +498,7 @@ insert_into(mvc *sql, dlist *qname, dlis
                                                        inner = 
rel_crossproduct(sql->sa, inner, r, op_join);
                                                else if (r) 
                                                        inner = r;
-                                               if (inner && !ins->name) {
+                                               if (inner && !ins->name && 
!is_atom(ins->type)) {
                                                        exp_label(sql->sa, ins, 
++sql->label);
                                                        ins = 
exp_column(sql->sa, exp_relname(ins), exp_name(ins), exp_subtype(ins), 
ins->card, has_nil(ins), is_intern(ins));
                                                }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to