Changeset: d17a694efb03 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d17a694efb03
Modified Files:
clients/mapiclient/dump.c
sql/backends/monet5/sql_user.c
sql/server/rel_psm.c
sql/storage/store.c
Branch: default
Log Message:
merged with Jun2016
diffs (83 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1557,7 +1557,7 @@ dump_database(Mapi mid, stream *toConsol
"t.id = tr.table_id"
") "
"SELECT sname, query FROM vft ORDER BY id";
- char *sname;
+ char *sname = NULL;
char *curschema = NULL;
MapiHdl hdl;
int create_hash_func = 0;
@@ -2028,7 +2028,8 @@ dump_database(Mapi mid, stream *toConsol
/* finally commit the whole transaction */
if (!describe)
mnstr_printf(toConsole, "COMMIT;\n");
-
+ if (sname)
+ free(sname);
return rc;
bailout:
@@ -2042,6 +2043,8 @@ dump_database(Mapi mid, stream *toConsol
mapi_explain(mid, stderr);
bailout2:
+ if (sname)
+ free(sname);
if (curschema)
free(curschema);
hdl = mapi_query(mid, end);
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- a/sql/backends/monet5/sql_user.c
+++ b/sql/backends/monet5/sql_user.c
@@ -128,8 +128,10 @@ monet5_find_user(ptr mp, str user)
Client c = MCgetClient(m->clientid);
str err;
- if ((err = AUTHgetUsers(&uid, &nme, c)) != MAL_SUCCEED)
+ if ((err = AUTHgetUsers(&uid, &nme, c)) != MAL_SUCCEED) {
+ _DELETE(err);
return -1;
+ }
p = BUNfnd(nme, user);
BBPunfix(uid->batCacheid);
BBPunfix(nme->batCacheid);
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -845,8 +845,10 @@ rel_create_func(mvc *sql, dlist *qname,
return sql_error(sql, 01, "CREATE %s%s:
external name %s.%s not bound (%s,%s)", KF, F, fmod, fnme, s->base.name, fname
);
} else {
sql_func *f = sf->func;
- f->mod = _STRDUP(fmod);
- f->imp = _STRDUP(fnme);
+ if (!f->mod || strcmp(f->mod, fmod))
+ f->mod = _STRDUP(fmod);
+ if (!f->imp || strcmp(f->imp, fnme))
+ f->imp =
(f->sa)?sa_strdup(f->sa, fnme):_STRDUP(fnme);
f->sql = 0; /* native */
f->lang = FUNC_LANG_INT;
}
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -789,7 +789,8 @@ load_func(sql_trans *tr, sql_schema *s,
t->res = NULL;
t->s = s;
t->fix_scale = SCALE_EQ;
- if (t->lang != FUNC_LANG_INT) {
+ t->sa = tr->sa;
+ if (t->lang != FUNC_LANG_INT) {
t->query = t->imp;
t->imp = NULL;
}
@@ -2430,6 +2431,7 @@ func_dup(sql_trans *tr, int flag, sql_fu
list_append(f->res, arg_dup(sa, n->data));
}
f->s = s;
+ f->sa = sa;
return f;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list