Update of /cvsroot/monetdb/sql/src/backends/monet4
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9416/src/backends/monet4
Modified Files:
Tag: SQL_2-20
sql_session.mx
Log Message:
cleanup of global variable creation (code resembles m5 version again)
also fixed a leak (free stmt as its dupped in the set_var call)
Index: sql_session.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet4/sql_session.mx,v
retrieving revision 1.230.2.3
retrieving revision 1.230.2.4
diff -u -d -r1.230.2.3 -r1.230.2.4
--- sql_session.mx 20 Sep 2007 08:55:14 -0000 1.230.2.3
+++ sql_session.mx 29 Oct 2007 08:05:08 -0000 1.230.2.4
@@ -712,6 +712,12 @@
return GDK_SUCCEED;
}
+#define SQLglobal(name, val) \
+ r = stmt_var(_strdup(name), &ctype, 0, 1); \
+ stack_push_var(sql, name, r, &ctype); \
+ stmt_destroy(r); \
+ stack_set_var(sql, name, VALset(&src, ctype.type->localtype, val));
+
/* initialize the global variable, ie make mvc point to these */
static int
global_variables(mvc *sql, char *user, char *schema)
@@ -726,63 +732,30 @@
typename = "int";
sql_find_subtype(&ctype, typename, 0, 0);
- name = "debug";
-
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype,
&sql->debug));
+ SQLglobal("debug", &sql->debug);
typename = "varchar";
sql_find_subtype(&ctype, typename, 8, 0);
- name = "explain";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
+ SQLglobal("explain", "");
+
stack_set_var(sql, name, VALset(&src, ctype.type->localtype, ""));
sql_find_subtype(&ctype, typename, 1024, 0);
- name = "current_schema";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, schema));
-
- name = "current_user";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, user));
-
- name = "current_role";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, user));
-
- name = "optimizer";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, "yes"));
+ SQLglobal("current_schema", schema);
+ SQLglobal("current_user", user);
+ SQLglobal("current_role", user);
+ SQLglobal("optimizer", "yes");
typename = "sec_interval";
sql_find_subtype(&ctype, typename, 0, 0);
- name = "current_timezone";
+ SQLglobal("current_timezone", &sec);
r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, &sec));
typename = "boolean";
sql_find_subtype(&ctype, typename, 0, 0);
- name = "cache";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, &T));
-
- name = "profile";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, &F));
-
- name = "trace";
- r = stmt_var(_strdup(name), &ctype, 0, 1);
- stack_push_var(sql, name, r, &ctype);
- stack_set_var(sql, name, VALset(&src, ctype.type->localtype, &F));
+ SQLglobal("cache", &T);
+ SQLglobal("profile", &F);
+ SQLglobal("trace", &F);
return 0;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins