Changeset: fee6e762c7d3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fee6e762c7d3 Modified Files: sql/server/rel_unnest.c Branch: Oct2020 Log Message:
Better solution, avoid copying diffs (31 lines): diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -3270,25 +3270,8 @@ rewrite_values(visitor *v, sql_rel *rel) if (rel_is_ref(rel)) { /* need extra project */ rel->l = rel_project(v->sql->sa, rel->l, rel->exps); rel->exps = rel_projections(v->sql, rel->l, NULL, 1, 1); - if (!list_empty(rel->r)) { /* propagate order by exps */ - list *nexps = sa_list(v->sql->sa); - for (node *en = ((list*)rel->r)->h; en; en = en->next) { - sql_exp *e = en->data, *ne = exps_find_exp(((sql_rel*)rel->l)->exps, e); - - assert(ne); - ne = exp_ref(v->sql, ne); - if (is_ascending(e)) - set_ascending(ne); - else - set_descending(ne); - if (nulls_last(e)) - set_nulls_last(ne); - else - set_nulls_first(ne); - list_append(nexps, ne); - } - rel->r = nexps; - } + ((sql_rel*)rel->l)->r = rel->r; /* propagate order by exps */ + rel->r = NULL; return rel; } sql_exp *e = rel->exps->h->data; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list