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