Changeset: 5fdc2e9a8f30 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5fdc2e9a8f30
Modified Files:
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/clients.mal
Branch: default
Log Message:

Move to oid headed BATs
The test set needs some attention, in particualr, jdbc tests.


diffs (190 lines):

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
@@ -138,41 +138,64 @@ str
 CLTInfo(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        int *ret=  (int *) getArgReference(stk,pci,0);
-       BAT *b = BATnew(TYPE_str, TYPE_str, 12);
+       int *ret2=  (int *) getArgReference(stk,pci,0);
+       BAT *b = BATnew(TYPE_void, TYPE_str, 12);
+       BAT *bn = BATnew(TYPE_void, TYPE_str, 12);
        char s[26];
 
        (void) mb;
-       if (b == 0)
+       if (b == 0 || bn == 0){
+               if ( b == 0) BBPreleaseref(b->batCacheid);
+               if ( bn == 0) BBPreleaseref(bn->batCacheid);
                throw(MAL, "clients.info", MAL_MALLOC_FAIL);
+       }
 
-       BUNins(b, "user", local_itoa((int)cntxt->user), FALSE);
-       BUNins(b, "password", "", FALSE); /* FIXME: get rid of this */
-       BUNins(b, "scenario", cntxt->scenario, FALSE);
-       BUNins(b, "timer", local_itoa((int) cntxt->timer), FALSE);
-       BUNins(b, "trace", local_itoa(cntxt->itrace), FALSE);
-       BUNins(b, "listing", local_itoa(cntxt->listing), FALSE);
-       BUNins(b, "debug", local_itoa(cntxt->debug), FALSE);
+       BUNappend(b, "user", FALSE);
+       BUNappend(bn, local_itoa((int)cntxt->user), FALSE);
+
+       BUNappend(b, "password", FALSE); /* FIXME: get rid of this */
+       BUNappend(bn, "", FALSE); /* FIXME: get rid of this */
+
+       BUNappend(b, "scenario", FALSE);
+       BUNappend(bn, cntxt->scenario, FALSE);
+
+       BUNappend(b, "timer", FALSE);
+       BUNappend(bn, local_itoa((int) cntxt->timer), FALSE);
+
+       BUNappend(b, "trace", FALSE);
+       BUNappend(bn, local_itoa(cntxt->itrace), FALSE);
+
+       BUNappend(b, "listing", FALSE);
+       BUNappend(bn, local_itoa(cntxt->listing), FALSE);
+
+       BUNappend(b, "debug", FALSE);
+       BUNappend(bn, local_itoa(cntxt->debug), FALSE);
+
        CLTtimeConvert((time_t) cntxt->login,s);
-       BUNins(b, "login", s, FALSE);
+       BUNappend(b, "login", FALSE);
+       BUNappend(bn, s, FALSE);
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
        pseudo(ret,b,"client","info");
+       BBPkeepref(*ret2= bn->batCacheid);
        return MAL_SUCCEED;
 }
 
 str
 CLTLogin(int *ret)
 {
-       BAT *b = BATnew(TYPE_int, TYPE_str, 12);
+       BAT *b = BATnew(TYPE_void, TYPE_str, 12);
        int i;
        char s[26];
 
        if (b == 0)
                throw(MAL, "clients.getLogins", MAL_MALLOC_FAIL);
+       BATseqbase(b,0);
+
        for (i = 0; i < MAL_MAXCLIENTS; i++) {
                Client c = mal_clients+i;
                if (c->mode >= CLAIMED && c->user != oid_nil) {
                        CLTtimeConvert((time_t) c->login,s);
-                       BUNins(b, &i, s, FALSE);
+                       BUNappend(b, s, FALSE);
                }
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
@@ -183,17 +206,18 @@ CLTLogin(int *ret)
 str
 CLTLastCommand(int *ret)
 {
-       BAT *b = BATnew(TYPE_int, TYPE_str, 12);
+       BAT *b = BATnew(TYPE_void, TYPE_str, 12);
        int i;
        char s[26];
 
        if (b == 0)
                throw(MAL, "clients.getLastCommand", MAL_MALLOC_FAIL);
+       BATseqbase(b,0);
        for (i = 0; i < MAL_MAXCLIENTS; i++) {
                Client c = mal_clients+i;
                if (c->mode >= CLAIMED && c->user != oid_nil) {
                        CLTtimeConvert((time_t) c->lastcmd,s);
-                       BUNins(b, &i, s, FALSE);
+                       BUNappend(b, s, FALSE);
                }
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
@@ -204,15 +228,16 @@ CLTLastCommand(int *ret)
 str
 CLTActions(int *ret)
 {
-       BAT *b = BATnew(TYPE_int, TYPE_int, 12);
+       BAT *b = BATnew(TYPE_void, TYPE_int, 12);
        int i;
 
        if (b == 0)
                throw(MAL, "clients.getActions", MAL_MALLOC_FAIL);
+       BATseqbase(b,0);
        for (i = 0; i < MAL_MAXCLIENTS; i++) {
                Client c = mal_clients+i;
                if (c->mode >= CLAIMED && c->user != oid_nil) {
-                       BUNins(b, &i, &c->actions, FALSE);
+                       BUNappend(b, &c->actions, FALSE);
                }
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
@@ -222,15 +247,16 @@ CLTActions(int *ret)
 str
 CLTTime(int *ret)
 {
-       BAT *b = BATnew(TYPE_int, TYPE_lng, 12);
+       BAT *b = BATnew(TYPE_void, TYPE_lng, 12);
        int i;
 
        if (b == 0)
                throw(MAL, "clients.getTime", MAL_MALLOC_FAIL);
+       BATseqbase(b,0);
        for (i = 0; i < MAL_MAXCLIENTS; i++) {
                Client c = mal_clients+i;
                if (c->mode >= CLAIMED && c->user != oid_nil) {
-                       BUNins(b, &i, &c->totaltime, FALSE);
+                       BUNappend(b, &c->totaltime, FALSE);
                }
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
@@ -244,15 +270,16 @@ CLTTime(int *ret)
 str
 CLTusers(int *ret)
 {
-       BAT *b = BATnew(TYPE_int, TYPE_str, 12);
+       BAT *b = BATnew(TYPE_void, TYPE_str, 12);
        int i;
 
        if (b == 0)
                throw(MAL, "clients.users", MAL_MALLOC_FAIL);
+       BATseqbase(b,0);
        for (i = 0; i < MAL_MAXCLIENTS; i++) {
                Client c = mal_clients+i;
                if (c->mode >= CLAIMED && c->user != oid_nil)
-                       b = BUNins(b, &i, local_itoa((int)c->user), FALSE);
+                       BUNappend(b, &i, FALSE);
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
        pseudo(ret,b,"client","users");
diff --git a/monetdb5/modules/mal/clients.mal b/monetdb5/modules/mal/clients.mal
--- a/monetdb5/modules/mal/clients.mal
+++ b/monetdb5/modules/mal/clients.mal
@@ -37,23 +37,23 @@ It is the privilige of the console user.
 
 # @-
 # Administrator operations
-command getLogins( ):bat[:int,:str] 
+command getLogins( ):bat[:oid,:str] 
 address CLTLogin
 comment "Pseudo bat of client login time.";
 
-command getLastCommand( ):bat[:int,:str] 
+command getLastCommand( ):bat[:oid,:str] 
 address CLTLastCommand
 comment "Pseudo bat of client's last command time.";
 
-command getActions( ):bat[:int,:int] 
+command getActions( ):bat[:oid,:int] 
 address CLTActions
 comment "Pseudo bat of client's command counts.";
 
-command getTime( ):bat[:int,:lng] 
+command getTime( ):bat[:oid,:lng] 
 address CLTTime
 comment "Pseudo bat of client's total time usage(in usec).";
 
-command getUsers( ):bat[:int,:str] 
+command getUsers( ):bat[:oid,:str] 
 address CLTusers
 comment "Pseudo bat of users logged in.";
 
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to