Changeset: b71d472f895a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b71d472f895a
Modified Files:
monetdb5/mal/mal_dataflow.c
sql/backends/monet5/sql_execute.c
Branch: Apr2019
Log Message:
Datafow threads record for whom they're working, clients threads record query
they're working on.
diffs (55 lines):
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -364,7 +364,7 @@ DFLOWworker(void *T)
/* no more work to be done: exit */
break;
}
- MT_thread_setworking(fe->flow->cntxt->query);
+ MT_thread_setworking(fe->flow->cntxt->mythread->name);
} else
fe = fnxt;
if (ATOMIC_GET(&exiting)) {
diff --git a/sql/backends/monet5/sql_execute.c
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -293,6 +293,7 @@ SQLrun(Client c, backend *be, mvc *m)
*m->errstr=0;
return msg;
}
+ MT_thread_setworking(c->query);
// locate and inline the query template instruction
mb = copyMalBlk(c->curprg->def);
if (!mb) {
@@ -307,6 +308,7 @@ SQLrun(Client c, backend *be, mvc *m)
if( getFunctionId(p) &&
qc_isapreparedquerytemplate(getFunctionId(p) ) ){
msg = SQLexecutePrepared(c, be, p->blk);
freeMalBlk(mb);
+ MT_thread_setworking(NULL);
return msg;
}
if( getFunctionId(p) && p->blk &&
qc_isaquerytemplate(getFunctionId(p)) ) {
@@ -347,6 +349,7 @@ SQLrun(Client c, backend *be, mvc *m)
msg = SQLoptimizeQuery(c, mb);
if( msg != MAL_SUCCEED){
// freeMalBlk(mb);
+ MT_thread_setworking(NULL);
return msg;
}
mb->keephistory = FALSE;
@@ -356,6 +359,7 @@ SQLrun(Client c, backend *be, mvc *m)
// mal block might be so broken free causes segfault
msg = mb->errors;
mb->errors = 0;
+ MT_thread_setworking(NULL);
return msg;
}
@@ -377,6 +381,7 @@ SQLrun(Client c, backend *be, mvc *m)
// release the resources
freeMalBlk(mb);
+ MT_thread_setworking(NULL);
return msg;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list