Changeset: aae65ac894b2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aae65ac894b2
Modified Files:
        monetdb5/modules/mal/sysmon.c
Branch: default
Log Message:

Minor patches.


diffs (86 lines):

diff --git a/monetdb5/modules/mal/sysmon.c b/monetdb5/modules/mal/sysmon.c
--- a/monetdb5/modules/mal/sysmon.c
+++ b/monetdb5/modules/mal/sysmon.c
@@ -9,6 +9,7 @@
 #include "monetdb_config.h"
 #include "sysmon.h"
 #include "mal_authorize.h"
+#include "mal_client.h"
 #include "mal_runtime.h"
 #include "mtime.h"
 
@@ -30,22 +31,23 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, 
        bat *w = getArgReference_bat(stk,pci,7);
        bat *m = getArgReference_bat(stk,pci,8);
        lng i, qtag;
-       int wrk, mem;
-       str usr;
+       int wrk, mem, sz;
+       str usr = 0;
        timestamp tsn;
        str msg = MAL_SUCCEED;
 
        (void) cntxt;
        (void) mb;
-       tag = COLnew(0, TYPE_lng, 256, TRANSIENT);
-       sessionid = COLnew(0, TYPE_int, 256, TRANSIENT);
-       user = COLnew(0, TYPE_str, 256, TRANSIENT);
-       started = COLnew(0, TYPE_timestamp, 256, TRANSIENT);
-       status = COLnew(0, TYPE_str, 256, TRANSIENT);
-       query = COLnew(0, TYPE_str, 256, TRANSIENT);
-       progress = COLnew(0, TYPE_int, 256, TRANSIENT);
-       workers = COLnew(0, TYPE_int, 256, TRANSIENT);
-       memory = COLnew(0, TYPE_int, 256, TRANSIENT);
+       sz = MAL_MAXCLIENTS;    // reserve space for all possible clients.
+       tag = COLnew(0, TYPE_lng, sz, TRANSIENT);
+       sessionid = COLnew(0, TYPE_int, sz, TRANSIENT);
+       user = COLnew(0, TYPE_str, sz, TRANSIENT);
+       started = COLnew(0, TYPE_timestamp, sz, TRANSIENT);
+       status = COLnew(0, TYPE_str, sz, TRANSIENT);
+       query = COLnew(0, TYPE_str, sz, TRANSIENT);
+       progress = COLnew(0, TYPE_int, sz, TRANSIENT);
+       workers = COLnew(0, TYPE_int, sz, TRANSIENT);
+       memory = COLnew(0, TYPE_int, sz, TRANSIENT);
        if ( tag == NULL || sessionid == NULL || user == NULL || query == NULL 
|| started == NULL || progress == NULL || workers == NULL || memory == NULL){
                BBPreclaim(tag);
                BBPreclaim(sessionid);
@@ -56,7 +58,7 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, 
                BBPreclaim(progress);
                BBPreclaim(workers);
                BBPreclaim(memory);
-               throw(MAL, "SYSMONqueue", SQLSTATE(HY013) MAL_MALLOC_FAIL);
+               throw(MAL, "SYSMONqueue", SQLSTATE(HY001) MAL_MALLOC_FAIL);
        }
 
        MT_lock_set(&mal_delayLock);
@@ -69,16 +71,16 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, 
                if (msg != MAL_SUCCEED)
                        goto bailout;
 
-               if (BUNappend(sessionid, &(QRYqueue[i].cntxt->idx), false) != 
GDK_SUCCEED) {
-                       GDKfree(usr);
-                       goto bailout;
-               }
-
                if (BUNappend(user, usr, false) != GDK_SUCCEED) {
                        GDKfree(usr);
                        goto bailout;
                }
                GDKfree(usr);
+
+               if (BUNappend(sessionid, &(QRYqueue[i].cntxt->idx), false) != 
GDK_SUCCEED) {
+                       goto bailout;
+               }
+
                if (BUNappend(query, QRYqueue[i].query, false) != GDK_SUCCEED ||
                        BUNappend(status, QRYqueue[i].status, false) != 
GDK_SUCCEED)
                        goto bailout;
@@ -122,7 +124,7 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, 
        BBPunfix(progress->batCacheid);
        BBPunfix(workers->batCacheid);
        BBPunfix(memory->batCacheid);
-       return msg ? msg : createException(MAL, "SYSMONqueue", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
+       return msg ? msg : createException(MAL, "SYSMONqueue", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
 }
 
 str
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to