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 -- [email protected]
To unsubscribe send an email to [email protected]