Changeset: 99089134fc20 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99089134fc20
Modified Files:
        monetdb5/mal/mal_instruction.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/server/rel_select.c
Branch: jit
Log Message:

Merge default


diffs (92 lines):

diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -629,8 +629,10 @@ setVarName(MalBlkPtr mb, int i, str nme)
 {
        char buf[IDLENGTH];
 
-       if ( mb->var[i]->name)
+       if ( mb->var[i]->name){
                GDKfree(mb->var[i]->name);
+               mb->var[i]->name = NULL;
+       }
 
        if (nme == 0) {
                snprintf(buf, IDLENGTH, "%c%d", TMPMARKER, 
mb->var[i]->tmpindex);
@@ -648,6 +650,7 @@ resetVarName(MalBlkPtr mb, int i)
        nme = mb->var[i]->name;
        if (mb->var[i]->tmpindex && nme) {
                GDKfree(nme);
+               mb->var[i]->name = NULL;
                nme = 0;
        }
 
@@ -944,8 +947,10 @@ renameVariable(MalBlkPtr mb, int id, str
        assert(id >=0 && id <mb->vtop);
        v = getVar(mb, id);
 
-       if (v->name)
+       if (v->name){
                GDKfree(v->name);
+               v->name = NULL; 
+       }
        nme= GDKmalloc(IDLENGTH);
        if( nme) {
                snprintf(nme,IDLENGTH,pattern,newid);
diff --git a/sql/backends/monet5/UDF/pyapi/pyapi.c 
b/sql/backends/monet5/UDF/pyapi/pyapi.c
--- a/sql/backends/monet5/UDF/pyapi/pyapi.c
+++ b/sql/backends/monet5/UDF/pyapi/pyapi.c
@@ -1512,6 +1512,8 @@ wrapup:
                 GDKreleasemmap(mmap_ptrs[i], mmap_sizes[i], mmap_id + i, &msg);
             }
         }
+        if (mmap_ptrs) GDKfree(mmap_ptrs);
+        if (mmap_sizes) GDKfree(mmap_sizes);
         if (query_sem > 0) {
             GDKreleasesem(query_sem, &msg);
         }
@@ -1553,7 +1555,7 @@ wrapup:
     GDKfree(pyreturn_values);
     GDKfree(pyinput_values);
     for (i = 0; i < pci->argc; i++)
-        if (args[i] != NULL)
+        if (args[i])
             GDKfree(args[i]);
     GDKfree(args);
     GDKfree(pycall);
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
@@ -2599,7 +2599,7 @@ rel_unop(mvc *sql, sql_rel **rel, symbol
        char *sname = qname_schema(l->data.lval);
        sql_schema *s = sql->session->schema;
        exp_kind iek = {type_value, card_column, FALSE};
-       sql_exp *e = rel_value_exp(sql, rel, l->next->data.sym, fs, iek);
+       sql_exp *e = NULL;
        sql_subfunc *f = NULL;
        sql_subtype *t = NULL;
        int type = (ek.card == card_none)?F_PROC:F_FUNC;
@@ -2609,14 +2609,16 @@ rel_unop(mvc *sql, sql_rel **rel, symbol
 
        if (!s)
                return NULL;
-       if (!e)
-               f = find_func(sql, s, fname, 1, F_AGGR, NULL);
-       if (!e && f) { /* possibly we cannot resolve the argument as the 
function maybe an aggregate */
-               /* reset error */
-               sql->session->status = 0;
-               sql->errstr[0] = '\0';
-               return rel_aggr(sql, rel, se, fs);
+       f = find_func(sql, s, fname, 1, F_AGGR, NULL);
+       if (f) { 
+               e = rel_aggr(sql, rel, se, fs);
+               if (e)
+                       return e;
        }
+       /* reset error */
+       sql->session->status = 0;
+       sql->errstr[0] = '\0';
+               e = rel_value_exp(sql, rel, l->next->data.sym, fs, iek);
        if (!e)
                return NULL;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to