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

Reply via email to