Changeset: 4ff3805aef86 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4ff3805aef86
Modified Files:
        monetdb5/mal/mal_runtime.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_user.c
        sql/server/sql_env.c
Branch: default
Log Message:

Merge with Oct2012 branch.


diffs (84 lines):

diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c
--- a/monetdb5/mal/mal_runtime.c
+++ b/monetdb5/mal/mal_runtime.c
@@ -102,7 +102,7 @@ void
 runtimeTiming(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci, int 
tid, MT_Lock *lock, RuntimeProfile prof)
 {
        str line;
-       if (cntxt->flags && stk->cmd != 't' && stk->cmd != 'C') {
+       if (cntxt->flags && stk->cmd != '\0' && stk->cmd != 't' && stk->cmd != 
'C') {
                if (lock)
                        MT_lock_set(&*lock, "timing");
                mnstr_printf(cntxt->fdout, "= ");    /* single column rendering 
*/
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
@@ -271,6 +271,7 @@ global_variables(mvc *sql, char *user, c
        bit T = TRUE;
        bit F = FALSE;
        ValRecord src;
+       str opt;
 
        typename = "int";
        sql_find_subtype(&ctype, typename, 0, 0);
@@ -282,7 +283,9 @@ global_variables(mvc *sql, char *user, c
        SQLglobal("current_user", user);
        SQLglobal("current_role", user);
        /* inherit the optimizer from the server */
-       SQLglobal("optimizer", initSQLoptimizer());
+       opt = initSQLoptimizer();
+       SQLglobal("optimizer", opt);
+       GDKfree(opt);
        SQLglobal("trace","show,ticks,stmt");
 
        typename = "sec_interval";
@@ -829,13 +832,16 @@ SQLstatementIntern(Client c, str *expr, 
                }
 
                /*
-                * @-
                 * We have dealt with the first parsing step and advanced the 
input reader
                 * to the next statement (if any).
                 * Now is the time to also perform the semantic analysis,
                 * optimize and produce code.
                 * We don;t search the cache for a previous incarnation yet.
                 */
+               if (c->glb) {
+                       /* MSinitClientPrg clears c->glb, so free it here */
+                       _DELETE(c->glb);
+               }
                MSinitClientPrg(c,"user",nme);
                oldvtop = c->curprg->def->vtop;
                oldstop = c->curprg->def->stop;
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- a/sql/backends/monet5/sql_user.c
+++ b/sql/backends/monet5/sql_user.c
@@ -213,6 +213,8 @@ monet5_create_privileges(ptr _mvc, sql_s
        /* following funcion returns a table (single column) of user names
           with the approriate scenario (sql) */
        mvc_create_func(m, NULL, s, "db_users", l, &tpe, F_FUNC, "sql", 
"db_users", "CREATE FUNCTION db_users () RETURNS TABLE( name varchar(2048)) 
EXTERNAL NAME sql.db_users;");
+       if (m->sa == NULL)
+               _DELETE(l);
 
        t = mvc_create_view(m, s, "users", SQL_PERSIST,
                        "SELECT u.\"name\" AS \"name\", "
diff --git a/sql/server/sql_env.c b/sql/server/sql_env.c
--- a/sql/server/sql_env.c
+++ b/sql/server/sql_env.c
@@ -126,6 +126,8 @@ sql_create_env(mvc *m, sql_schema *s)
        /* add function */
        l = sa_list(m->sa);
        mvc_create_func(m, NULL, s, "env", l, &tpe, F_FUNC, "sql", 
"sql_environment", "CREATE FUNCTION env () RETURNS TABLE( name varchar(1024), 
value varchar(2048)) EXTERNAL NAME sql.sql_environment;");
+       if (m->sa == NULL)
+               _DELETE(l);
 
        t = mvc_create_generated(m, s, "#var", NULL, 1);
        mvc_create_column_(m, t, "name", "varchar", 1024);
@@ -137,5 +139,7 @@ sql_create_env(mvc *m, sql_schema *s)
        /* add function */
        l = sa_list(m->sa);
        mvc_create_func(m, NULL, s, "var", l, &tpe, F_FUNC, "sql", 
"sql_variables", "CREATE FUNCTION var() RETURNS TABLE( name varchar(1024)) 
EXTERNAL NAME sql.sql_variables;");
+       if (m->sa == NULL)
+               _DELETE(l);
        return 0;
 }
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to