Changeset: 3b744dd59e15 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3b744dd59e15
Modified Files:
        monetdb5/modules/atoms/str.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/txtsim.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_multiplex.c
Branch: Jun2023
Log Message:

Various small fixes.


diffs (160 lines):

diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -5062,8 +5062,10 @@ STRasciify(str *r, const str *s)
        if ((cd = iconv_open(t, f)) == (iconv_t) (-1))
                throw(MAL, "str.asciify", "ICONV: cannot convert from (%s) to 
(%s).", f,
                          t);
-       if ((*r = out = GDKmalloc(out_len)) == NULL)
+       if ((*r = out = GDKmalloc(out_len)) == NULL) {
+               iconv_close(cd);
                throw(MAL, "str.asciify", SQLSTATE(HY013) MAL_MALLOC_FAIL);
+       }
        str o = out;
        if (iconv(cd, &in, &in_len, &o, &out_len) == (size_t) -1) {
                GDKfree(out);
diff --git a/monetdb5/modules/kernel/batstr.c b/monetdb5/modules/kernel/batstr.c
--- a/monetdb5/modules/kernel/batstr.c
+++ b/monetdb5/modules/kernel/batstr.c
@@ -5724,15 +5724,21 @@ BATSTRasciify(Client cntxt, MalBlkPtr mb
                throw(MAL, "batstr.asciify", "ICONV: cannot convert from (%s) 
to (%s).",
                          f, t);
 
-       if (!(b = BATdescriptor(*bid)))
+       if (!(b = BATdescriptor(*bid))) {
+               iconv_close(cd);
                throw(MAL, "batstr.asciify", RUNTIME_OBJECT_MISSING);
-
-       if (sid && !is_bat_nil(*sid) && !(bs = BATdescriptor(*sid)))
+       }
+
+       if (sid && !is_bat_nil(*sid) && !(bs = BATdescriptor(*sid))) {
+               iconv_close(cd);
+               BBPreclaim(b);
                throw(MAL, "batstr.asciify", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
+       }
 
        canditer_init(&ci, b, bs);
 
        if ((bn = COLnew(ci.hseq, TYPE_str, ci.ncand, TRANSIENT)) == NULL) {
+               iconv_close(cd);
                BBPreclaim(b);
                BBPreclaim(bs);
                throw(MAL, "batstr.asciify", GDK_EXCEPTION);
diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c
--- a/monetdb5/modules/mal/clients.c
+++ b/monetdb5/modules/mal/clients.c
@@ -718,34 +718,24 @@ static str
 CLTgetPasswordHash(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        (void) cntxt;
-       str *ret = getArgReference_str(stk, pci, 0);
-       str *user = getArgReference_str(stk, pci, 1);
-       (void) ret;
-       (void) user;
+       (void) mb;
+       (void) stk;
+       (void) pci;
 
-       (void) mb;
-
-       throw(MAL, "clients.getPassword needs reimplementation",
-                 SQLSTATE(HY013) MAL_MALLOC_FAIL);
+       throw(MAL, "clients.getPassword",
+                 SQLSTATE(0A000) PROGRAM_NYI);
 }
 
 static str
 CLTcheckPermission(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        (void) cntxt;
-       //str *usr = getArgReference_str(stk, pci, 1);
-       str *pw = getArgReference_str(stk, pci, 2);
-       //str algo = "SHA1";
-       str pwd, msg;
-
        (void) mb;
+       (void) stk;
+       (void) pci;
 
-       if (!(pwd = mcrypt_SHA1Sum(*pw, strlen(*pw))))
-               throw(MAL, "clients.checkPermission", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
-       throw(MAL, "clients.checkPermission needs reimplementation",
-                 SQLSTATE(HY013) MAL_MALLOC_FAIL);
-       free(pwd);
-       return msg;
+       throw(MAL, "clients.checkPermission",
+                 SQLSTATE(0A000) PROGRAM_NYI);
 }
 
 str
diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c
--- a/monetdb5/modules/mal/txtsim.c
+++ b/monetdb5/modules/mal/txtsim.c
@@ -999,10 +999,12 @@ minjarowinklerjoin(BAT **r1, BAT **r2, B
        *r2 = r2t;
 
   exit:
-       for (n = 0; n < lci.ncand; n++)
-               GDKfree(ssl[n].cp_sequence);
-       for (n = 0; n < rci.ncand; n++)
-               GDKfree(ssr[n].cp_sequence);
+       if (ssl)
+               for (n = 0; n < lci.ncand; n++)
+                       GDKfree(ssl[n].cp_sequence);
+       if (ssr)
+               for (n = 0; n < rci.ncand; n++)
+                       GDKfree(ssr[n].cp_sequence);
        GDKfree(x_flags);
        GDKfree(y_flags);
        GDKfree(ssl);
diff --git a/monetdb5/optimizer/opt_evaluate.c 
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -183,6 +183,7 @@ OPTevaluateImplementation(Client cntxt, 
                                if (!env) {
                                        msg = createException(MAL, 
"optimizer.evaluate",
                                                                                
  SQLSTATE(HY013) MAL_MALLOC_FAIL);
+                                       p->barrier = barrier;
                                        goto wrapup;
                                }
                                env->keepAlive = TRUE;
diff --git a/monetdb5/optimizer/opt_multiplex.c 
b/monetdb5/optimizer/opt_multiplex.c
--- a/monetdb5/optimizer/opt_multiplex.c
+++ b/monetdb5/optimizer/opt_multiplex.c
@@ -129,7 +129,7 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
        getArg(q, 0) = hvar;
        tvar = newTmpVariable(mb, TYPE_any);
        q = pushReturn(mb, q, tvar);
-       (void) pushArgument(mb, q, iter);
+       q = pushArgument(mb, q, iter);
        pushInstruction(mb, q);
 
        /* $1:= algebra.fetch(Ai,h) or constant */
@@ -196,7 +196,7 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
        q->barrier = REDOsymbol;
        getArg(q, 0) = hvar;
        q = pushReturn(mb, q, tvar);
-       (void) pushArgument(mb, q, iter);
+       q = pushArgument(mb, q, iter);
        pushInstruction(mb, q);
 
        q = newAssignment(mb);
@@ -205,7 +205,7 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
        }
        q->barrier = EXITsymbol;
        getArg(q, 0) = hvar;
-       (void) pushReturn(mb, q, tvar);
+       q = pushReturn(mb, q, tvar);
        pushInstruction(mb, q);
 
        for (i = 0; i < pci->retc; i++) {
@@ -214,7 +214,7 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
                        goto nomem;
                }
                getArg(q, 0) = getArg(pci, i);
-               (void) pushArgument(mb, q, resB[i]);
+               q = pushArgument(mb, q, resB[i]);
                pushInstruction(mb, q);
        }
        GDKfree(alias);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to