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

Columnar use of the client information
We need the oid column to reference the user names.


diffs (75 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
@@ -181,25 +181,34 @@ CLTInfo(Client cntxt, MalBlkPtr mb, MalS
 }
 
 str
-CLTLogin(int *ret)
+CLTLogin(int *nme, int *ret)
 {
        BAT *b = BATnew(TYPE_void, TYPE_str, 12);
+       BAT *u = BATnew(TYPE_void, TYPE_oid, 12);
        int i;
        char s[26];
 
        if (b == 0)
                throw(MAL, "clients.getLogins", MAL_MALLOC_FAIL);
+       if ( u==0){
+               BBPreleaseref(b->batCacheid);
+               throw(MAL, "clients.getLogins", MAL_MALLOC_FAIL);
+       }
        BATseqbase(b,0);
+       BATseqbase(u,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);
                        BUNappend(b, s, FALSE);
+                       BUNappend(u, &c->user, FALSE);
                }
        }
        if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ);
+       if (!(u->batDirty&2)) u = BATsetaccess(u, BAT_READ);
        pseudo(ret,b,"client","login");
+       pseudo(nme,u,"client","name");
        return MAL_SUCCEED;
 }
 
diff --git a/monetdb5/modules/mal/clients.h b/monetdb5/modules/mal/clients.h
--- a/monetdb5/modules/mal/clients.h
+++ b/monetdb5/modules/mal/clients.h
@@ -44,7 +44,7 @@ clients_export str CLTsetScenario(Client
 clients_export str CLTusers(int *ret);
 clients_export str CLTsetHistory(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 clients_export str CLTquit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-clients_export str CLTLogin(int *ret);
+clients_export str CLTLogin(int *ret, int *nme);
 clients_export str CLTLastCommand(int *ret);
 clients_export str CLTActions(int *ret);
 clients_export str CLTTime(int *ret);
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,9 +37,9 @@ It is the privilige of the console user.
 
 # @-
 # Administrator operations
-command getLogins( ):bat[:oid,:str] 
+command getLogins( )(user:bat[:oid,:oid],start:bat[:oid,:str] )
 address CLTLogin
-comment "Pseudo bat of client login time.";
+comment "Pseudo bat of client id and login time.";
 
 command getLastCommand( ):bat[:oid,:str] 
 address CLTLastCommand
@@ -55,7 +55,7 @@ comment "Pseudo bat of client's total ti
 
 command getUsers( ):bat[:oid,:str] 
 address CLTusers
-comment "Pseudo bat of users logged in.";
+comment "Pseudo bat of users id and name.";
 
 pattern stop(id:int)
 address CLTstop
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to