Changeset: 8cbe3b69ae19 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8cbe3b69ae19
Modified Files:
        monetdb5/mal/mal_client.c
        sql/backends/monet5/sql.c
        sql/include/sql_catalog.h
        sql/server/sql_mvc.c
        sql/storage/store.c
Branch: sql_profiler
Log Message:

Some minor improvements.


diffs (89 lines):

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
@@ -190,8 +190,6 @@ MCresetProfiler(stream *fdout)
 void
 MCexitClient(Client c)
 {
-       lng Tend;
-
        MCresetProfiler(c->fdout);
        // Remove any left over constant symbols
        if( c->curprg)
@@ -209,11 +207,12 @@ MCexitClient(Client c)
                c->fdout = NULL;
                c->fdin = NULL;
        }
-       Tend = GDKusec();
-       if(malProfileMode > 0)
+       if(malProfileMode > 0) {
+               lng Tend = GDKusec();
                genericEvent("client_connection",
                                         (struct GenericEvent)
                                         { &c->idx, NULL, NULL, NULL, 
Tend-(c->session), Tend, 0 });
+       }
        setClientContext(NULL);
 }
 
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
@@ -138,7 +138,7 @@ sql_symbol2relation(backend *be, symbol 
                                         { &(c->idx), &(c->curprg->def->tag), 
NULL, NULL, Tend-Tbegin, Tend, rel ? 0 : 1 });
 
        storage_based_opt = value_based_opt && rel && !is_ddl(rel->op);
-       Tbegin = GDKusec();
+       Tbegin = Tend;
        if (rel)
                rel = sql_processrelation(be->mvc, rel, profile, 1, 
value_based_opt, storage_based_opt);
        if (rel)
diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h
--- a/sql/include/sql_catalog.h
+++ b/sql/include/sql_catalog.h
@@ -308,7 +308,7 @@ typedef struct sql_trans {
 
        ulng ts;                        /* transaction start timestamp */
        ulng tid;                       /* transaction id */
-       lng ts2;            /* transaction timestamp for profiling */
+       lng clk_start;                  /* transaction start timestamp in 
microseconds */
 
        sql_store store;        /* keep link into the global store */
        MT_Lock lock;           /* lock protecting concurrent writes to the 
changes list */
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
@@ -487,7 +487,7 @@ mvc_trans(mvc *m)
        TRC_INFO(SQL_TRANS, "Starting transaction\n");
        res = sql_trans_begin(m->session);
 
-       m->session->tr->ts2 = GDKusec();
+       m->session->tr->clk_start = GDKusec();
 
        if (m->qc && (res || err)) {
                int seqnr = m->qc->id;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -7060,8 +7060,6 @@ sql_trans_begin(sql_session *s)
 int
 sql_trans_end(sql_session *s, int ok)
 {
-       lng Tend;
-
        TRC_DEBUG(SQL_STORE, "End of transaction: " ULLFMT "\n", s->tr->tid);
        if (ok == SQL_OK) {
                ok = sql_trans_commit(s->tr);
@@ -7087,10 +7085,10 @@ sql_trans_end(sql_session *s, int ok)
        }
        store->oldest = oldest;
        assert(list_length(store->active) == (int) 
ATOMIC_GET(&store->nr_active));
-       Tend = GDKusec();
+       store_unlock(store);
+       lng Tend = GDKusec();
        store->generic_event_wrapper("transaction",
-                                                                s->tr->tid, 
Tend-(s->tr->ts2), Tend, (ok == LOG_OK)? SQL_OK : SQL_ERR);
-       store_unlock(store);
+                                                                s->tr->tid, 
Tend-(s->tr->clk_start), Tend, (ok == LOG_OK)? SQL_OK : SQL_ERR);
 
        return ok;
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to