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