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

Reply via email to