Changeset: 242e831d1585 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/242e831d1585
Modified Files:
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_scenario.c
Branch: sql_profiler
Log Message:

Mark location profiler calls for query compilation related events.


diffs (57 lines):

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
@@ -128,7 +128,9 @@ sql_symbol2relation(backend *be, symbol 
        int value_based_opt = be->mvc->emode != m_prepare, storage_based_opt;
        int profile = be->mvc->emode == m_plan;
 
+       // TODO PROFILER EVENT: start of SQL compilation,i.e. parse tree to 
relation.: log be->client->curprg->def->tag
        rel = rel_semantic(query, sym);
+       // TODO PROFILER EVENT: end of SQL compilation,i.e. parse tree to 
relation and start of relational optimizer: log be->client->curprg->def->tag
        storage_based_opt = value_based_opt && rel && !is_ddl(rel->op);
        Tbegin = GDKusec();
        if (rel)
@@ -138,6 +140,8 @@ sql_symbol2relation(backend *be, symbol 
        if (rel && (rel_no_mitosis(be->mvc, rel) || 
rel_need_distinct_query(rel)))
                be->no_mitosis = 1;
        be->reloptimizer = GDKusec() - Tbegin;
+
+       // TODO PROFILER EVENT: end of relational optimizer: log 
be->client->curprg->def->tag
        return rel;
 }
 
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
@@ -1109,7 +1109,7 @@ SQLparser(Client c)
        tag = runtimeProfileSetTag(c);
        assert(tag == c->curprg->def->tag);
        (void) tag;
-       // TODO PROFILER EVENT: start of sql parsing is start of sql compilation
+       // TODO PROFILER EVENT: start of sql parsing is start of sql 
compilation: log c->curprg->def->tag
 
        if ((err = sqlparse(m)) ||
            /* Only forget old errors on transaction boundaries */
@@ -1194,10 +1194,12 @@ SQLparser(Client c)
                                }
                        }
 
+                       // TODO PROFILER EVENT: start of relation to MAL 
compilation: log c->curprg->def->tag
                        if (backend_dumpstmt(be, c->curprg->def, r, !(m->emod & 
mod_exec), 0, c->query) < 0)
                                err = 1;
                        else
                                opt = (m->emod & mod_exec) == 0;//1;
+                       // TODO PROFILER EVENT: end of relation to MAL 
compilation: log c->curprg->def->tag and err if present.
                } else {
                        char *q_copy = sa_strdup(m->sa, c->query);
 
@@ -1275,7 +1277,9 @@ SQLparser(Client c)
 
                /* in case we had produced a non-cachable plan, the optimizer 
should be called */
                if (msg == MAL_SUCCEED && opt ) {
+                       // TODO PROFILER EVENT: start of MAL optimizer. log 
c->curprg->def->tag
                        msg = SQLoptimizeQuery(c, c->curprg->def);
+                       // TODO PROFILER EVENT: end  of MAL optimizer. log 
c->curprg->def->tag and error if so
 
                        if (msg != MAL_SUCCEED) {
                                str other = c->curprg->def->errors;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to