Changeset: 6fecee3dc20b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6fecee3dc20b
Branch: nested
Log Message:

merged with default


diffs (61 lines):

diff --git a/sql/backends/monet5/mal_backend.h 
b/sql/backends/monet5/mal_backend.h
--- a/sql/backends/monet5/mal_backend.h
+++ b/sql/backends/monet5/mal_backend.h
@@ -51,7 +51,6 @@ typedef struct backend {
 
        int     mvc_var;        /* current variable holding the latest query 
context (used to create dependencies in mal statements) */
        int     rowcount;       /* when multiple insert/update/delete/truncate 
statements are present, use an accumulator to hold the total number of rows 
affected */
-       int             vtop;                   /* top of the variable stack 
before the current function */
        int     join_idx;       /* number of index joins (used in rel_bin) */
        lng     reloptimizer;   /* timer for optimizer phase */
 
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
@@ -366,7 +366,7 @@ SQLexecPostLoginTriggers(Client c)
                                        stream *out = be->out;
                                        be->out = NULL; /* no output stream */
                                        if (!msg)
-                                               msg = SQLrun(c,m);
+                                               msg = SQLrun(c, m);
 
                                        // restore previous state
                                        be->out = out;
@@ -1436,7 +1436,6 @@ SQLparser_body(Client c, backend *be)
 
                int oldvtop = c->curprg->def->vtop;
                int oldstop = c->curprg->def->stop;
-               be->vtop = oldvtop;
                (void)runtimeProfileSetTag(c); /* generate and set the tag in 
the mal block of the clients current program. */
                if (m->emode != m_prepare || (m->emode == m_prepare && (m->emod 
& mod_exec) && is_ddl(r->op)) /* direct execution prepare */) {
                        mvc_query_processed(m);
@@ -1651,6 +1650,7 @@ SQLengine_(Client c)
        if (msg || c->mode <= FINISHCLIENT)
                return msg;
 
+       int oldvtop = c->curprg?c->curprg->def->vtop:0;
        if (be->language == 'X') {
                return SQLchannelcmd(c, be);
        } else if (be->language !='S') {
@@ -1676,11 +1676,7 @@ SQLengine_(Client c)
        assert (m->emode != m_deallocate && m->emode != m_prepare);
        assert (c->curprg->def->stop > 2);
 
-       if (MALcommentsOnly(c->curprg->def)) {
-               assert(0);
-               msg = MAL_SUCCEED;
-       } else
-               msg = SQLrun(c,m);
+       msg = SQLrun(c, m);
 
        if (m->type == Q_SCHEMA && m->qc != NULL)
                qc_clean(m->qc);
@@ -1689,7 +1685,7 @@ SQLengine_(Client c)
                m->session->status = -10;
        sqlcleanup(be, (!msg) ? 0 : -1);
        MSresetInstructions(c->curprg->def, 1);
-       freeVariables(c, c->curprg->def, NULL, be->vtop);
+       freeVariables(c, c->curprg->def, NULL, oldvtop);
        /*
         * Any error encountered during execution should block further 
processing
         * unless auto_commit has been set.
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to