Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory sc8-pr-cvs16:/tmp/cvs-serv17646/src/backends/monet5
Modified Files:
sql_scenario.mx
Log Message:
added sql_prelude environment variable it allows for a prelude string which
is run before each sql client session is started.
fixed bug [ 1714814 ] View creation using a function....
(correctly check result of subquery)
Index: sql_scenario.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_scenario.mx,v
retrieving revision 1.260
retrieving revision 1.261
diff -u -d -r1.260 -r1.261
--- sql_scenario.mx 3 May 2007 15:58:28 -0000 1.260
+++ sql_scenario.mx 8 May 2007 12:22:21 -0000 1.261
@@ -86,6 +86,7 @@
static int SQLinitialized = 0;
static int SQLdebug = 0;
+static char *sql_prelude = NULL;
static void
monet5_freestack(backend_stack stk)
@@ -171,6 +172,7 @@
s->optimizer = "MALoptimizer";
/* s->tactics = .. */
s->engine = "MALengine";
+ sql_prelude = GDKgetenv("sql_prelude");
return SABAOTHmarchScenario(&res, &s->name);
}
@@ -318,6 +320,16 @@
return msg;
if ((backend *) c->state[MAL_SCENARIO_PARSER] == 0) {
+ if (sql_prelude) { /* add prelude to the fdin stack */
+ buffer *b = (buffer*)GDKmalloc(sizeof(buffer));
+ int len = strlen(sql_prelude);
+ bstream *fdin;
+
+ buffer_init(b, _strdup(sql_prelude), len);
+ fdin = bstream_create(buffer_rastream(b, "prelude"),
b->len);
+ bstream_next(fdin);
+ MCpushClientInput(c, fdin, 0, "");
+ }
m = mvc_create((c-mal_clients), 0, SQLdebug, c->fdin, c->fdout);
global_variables(m, "monetdb", "sys");
@@ -581,7 +593,7 @@
*ret = NULL;
msg= SQLstatementIntern(expr, "SQLcompile", FALSE);
if( msg == MAL_SUCCEED)
- *ret= GDKstrdup("SQLcompile");
+ *ret= _strdup("SQLcompile");
return msg;
}
@@ -712,6 +724,7 @@
#endif
MCpopClientInput(c);
in = c->fdin;
+ blocked = isa_block_stream(in->s);
m->scanner.rs = c->fdin;
c->fdin->pos += c->yycur;
c->yycur = 0;
@@ -1119,7 +1132,7 @@
GDKfree(argv);
if( pci->retc >= MAXARG)
GDKfree(argrec);
- return GDKstrdup("wrong number of arguments for prepared
statement\n");
+ return _strdup("wrong number of arguments for prepared
statement\n");
} else {
for (i = 0; i<c->argc; i++){
atom *arg = c->args[i];
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins