Changeset: dc4b070e9529 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/dc4b070e9529 Modified Files: sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_rel.c sql/server/rel_select.c Branch: default Log Message:
we need to allocate now that the exp_setname just uses the sql_allocator allocated strings diffs (80 lines): diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c --- a/sql/server/rel_dump.c +++ b/sql/server/rel_dump.c @@ -1639,7 +1639,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re if (r[*pos] != '.') { cname = tname; tname = NULL; - exp_setname(sql->sa, exp, NULL, cname); + exp_setname(sql->sa, exp, NULL, sa_strdup(sql->sa, cname)); skipWS(r, pos); } else { (*pos)++; @@ -1648,7 +1648,7 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re convertIdent(cname); (*pos)++; skipWS(r, pos); - exp_setname(sql->sa, exp, tname, cname); + exp_setname(sql->sa, exp, sa_strdup(sql->sa, tname), sa_strdup(sql->sa, cname)); } rlabel = try_update_label_count(sql, tname); nlabel = try_update_label_count(sql, cname); diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -951,10 +951,11 @@ exp_exception(sql_allocator *sa, sql_exp void exp_setname(sql_allocator *sa, sql_exp *e, const char *rname, const char *name ) { + (void)sa; e->alias.label = 0; if (name) - e->alias.name = sa_strdup(sa, name); - e->alias.rname = (rname)?sa_strdup(sa, rname):NULL; + e->alias.name = name; + e->alias.rname = (rname); } void diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -793,7 +793,7 @@ rel_label( mvc *sql, sql_rel *r, int all char tname[16], *tnme; char cname[16], *cnme = NULL; - tnme = number2name(tname, sizeof(tname), nr); + tnme = sa_strdup(sql->sa, number2name(tname, sizeof(tname), nr)); if (!is_simple_project(r->op)) r = rel_project(sql->sa, r, rel_projections(sql, r, NULL, 1, 1)); if (!list_empty(r->exps)) { @@ -804,7 +804,7 @@ rel_label( mvc *sql, sql_rel *r, int all if (!is_freevar(e)) { if (all) { nr = ++sql->label; - cnme = number2name(cname, sizeof(cname), nr); + cnme = sa_strdup(sql->sa, number2name(cname, sizeof(cname), nr)); } exp_setname(sql->sa, e, tnme, cnme ); } @@ -815,7 +815,7 @@ rel_label( mvc *sql, sql_rel *r, int all for (node *ne = ((list*)r->r)->h; ne; ne = ne->next) { if (all) { nr = ++sql->label; - cnme = number2name(cname, sizeof(cname), nr); + cnme = sa_strdup(sql->sa, number2name(cname, sizeof(cname), nr)); } exp_setname(sql->sa, ne->data, tnme, cnme ); } 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 @@ -5870,7 +5870,7 @@ rel_joinquery_(sql_query *query, symbol list *outexps = new_exp_list(sql->sa), *exps; node *m; - rnme = number2name(rname, sizeof(rname), ++sql->label); + rnme = sa_strdup(sql->sa, number2name(rname, sizeof(rname), ++sql->label)); for (; n; n = n->next) { char *nm = n->data.sval; sql_exp *cond, *ls, *rs; _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org