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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list