Changeset: dadf2515acf9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dadf2515acf9
Modified Files:
        sql/server/rel_select.c
        sql/server/rel_updates.c
Branch: analytics
Log Message:

fix for window_function_crash.Bug-3861


diffs (32 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -5001,8 +5001,10 @@ rel_rankop(mvc *sql, sql_rel **rel, symb
        list_merge(p->exps, rel_projections(sql, p->l, NULL, 1, 1), NULL);
        append(p->exps, call);
        call = exp_column(sql->sa, exp_relname(call), exp_name(call), 
exp_subtype(call), exp_card(call), has_nil(call), is_intern(call));
-       if (project_added)
+       if (project_added) {
                append(r->exps, call);
+               call = exp_column(sql->sa, exp_relname(call), exp_name(call), 
exp_subtype(call), exp_card(call), has_nil(call), is_intern(call));
+       }
        return call;
 }
 
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
@@ -854,11 +854,8 @@ rel_update(mvc *sql, sql_rel *t, sql_rel
 
                if (tab->idxs.set && !v) 
                        v = exp_column(sql->sa, tab->base.name, c->base.name, 
&c->type, CARD_MULTI, c->null, 0);
-               if (v) {
-                       v = exp_column(sql->sa, exp_relname(v), exp_name(v), 
exp_subtype(v), v->card, has_nil(v), is_intern(v));
-                       exp_setname(sql->sa, v, tab->base.name, c->base.name);
-                       (void) rel_project_add_exp(sql, uprel, v);
-               }
+               if (v)
+                       v = rel_project_add_exp(sql, uprel, v);
        }
 
        r->op = op_update;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to