Changeset: e106f9fa83c9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e106f9fa83c9
Modified Files:
clients/Tests/exports.stable.out
monetdb5/mal/mal_client.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_profiler.h
sql/backends/monet5/sql.c
sql/backends/monet5/sql_scenario.c
sql/server/sql_mvc.c
Branch: sql_profiler
Log Message:
Fix some bugs related to client context and OIDs.
diffs (191 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -999,6 +999,7 @@ void freeVariable(MalBlkPtr mb, int vari
void garbageCollector(Client cntxt, MalBlkPtr mb, MalStkPtr stk, int flag);
void garbageElement(Client cntxt, ValPtr v);
const char *generatorRef;
+void generic_event(str face, struct GenericEvent e, int state);
MALfcn getAddress(const char *modname, const char *fcnname);
str getArgDefault(MalBlkPtr mb, InstrPtr p, int idx);
ptr getArgReference(MalStkPtr stk, InstrPtr pci, int k);
diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -212,7 +212,7 @@ MCexitClient(Client c)
generic_event("client_connection",
(struct GenericEvent)
{ &c->idx,
- (oid)NULL,
+ NULL,
NULL,
NULL,
0 },
@@ -310,13 +310,14 @@ MCinitClient(oid user, bstream *fin, str
MT_lock_set(&mal_contextLock);
c = MCnewClient();
if (c) {
- assert(NULL == setClientContext(c));
+ Client c_old = setClientContext(c);
+ assert(NULL == c_old);
c = MCinitClientRecord(c, user, fin, fout);
if(malProfileMode > 0)
generic_event("client_connection",
(struct GenericEvent)
{ &c->idx,
- (oid)NULL,
+ NULL,
NULL,
NULL,
0 },
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -211,9 +211,9 @@ prepare_generic_event(str face, struct G
THRgettid(),
face,
state ? "done" : "start",
- e.client_id ? *(e.client_id) : -1,
+ e.client_id ? *(e.client_id) : 0,
e.transaction_id ? *e.transaction_id : 0,
- e.tag ? e.tag : (oid)-1,
+ e.tag ? *(e.tag) : 0,
e.query ? e.query : "none",
e.error ? "true" : "false"))
return logbuf.logbuffer;
diff --git a/monetdb5/mal/mal_profiler.h b/monetdb5/mal/mal_profiler.h
--- a/monetdb5/mal/mal_profiler.h
+++ b/monetdb5/mal/mal_profiler.h
@@ -22,7 +22,7 @@ typedef struct rusage Rusage;
struct GenericEvent {
int* client_id;
- oid tag;
+ oid* tag;
ulng* transaction_id;
str query;
int error;
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -133,7 +133,7 @@ sql_symbol2relation(backend *be, symbol
generic_event("sql_to_rel",
(struct GenericEvent)
{ &(c->idx),
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
NULL,
0 },
@@ -145,7 +145,7 @@ sql_symbol2relation(backend *be, symbol
generic_event("sql_to_rel",
(struct GenericEvent)
{ &(c->idx),
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
NULL,
rel ? 1 : 0 },
@@ -153,7 +153,7 @@ sql_symbol2relation(backend *be, symbol
generic_event("rel_opt",
(struct GenericEvent)
{ &(c->idx),
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
NULL,
0 },
@@ -174,7 +174,7 @@ sql_symbol2relation(backend *be, symbol
generic_event("rel_opt",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
NULL,
rel ? 1 : 0},
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1114,7 +1114,7 @@ SQLparser(Client c)
generic_event("sql_parse",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
NULL,
0 },
@@ -1150,7 +1150,7 @@ SQLparser(Client c)
generic_event("sql_parse",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+ &(c->curprg->def->tag),
NULL,
c->query ? c->query : NULL,
c->query ? 0 : 1, },
@@ -1215,7 +1215,7 @@ SQLparser(Client c)
generic_event("rel_to_mal",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+
&(c->curprg->def->tag),
NULL,
c->query ? c->query
: NULL,
c->query ? 0 : 1 },
@@ -1230,7 +1230,7 @@ SQLparser(Client c)
generic_event("rel_to_mal",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+
&(c->curprg->def->tag),
NULL,
c->query ? c->query
: NULL,
c->query ? 0 : 1 },
@@ -1317,7 +1317,7 @@ SQLparser(Client c)
generic_event("mal_opt",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+
&(c->curprg->def->tag),
NULL,
NULL,
0 },
@@ -1329,7 +1329,7 @@ SQLparser(Client c)
generic_event("mal_opt",
(struct GenericEvent)
{ &c->idx,
- c->curprg->def->tag,
+
&(c->curprg->def->tag),
NULL,
NULL,
msg == MAL_SUCCEED ?
0 : 1 },
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -127,13 +127,13 @@ mvc_fix_depend(mvc *m, sql_column *depid
static void
generic_event_wrapper(str face, ulng transaction_id, int error, int state)
{
- int client_id = getClientContext()->idx;
+ int client_id = 0;
if(malProfileMode > 0)
generic_event(face,
(struct GenericEvent)
{ &client_id,
- (oid)NULL,
+ NULL,
&transaction_id,
NULL,
error },
@@ -496,7 +496,7 @@ mvc_trans(mvc *m)
generic_event("transaction",
(struct GenericEvent)
{ &(m->clientid),
- (oid)NULL,
+ NULL,
&(m->session->tr->tid),
NULL,
0 },
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]