Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14486

Modified Files:
        sql.mx sql_bpm.mx sql_optimizer.mx sql_scenario.mx 
Log Message:
The calling convention for patterns has been changed. It now accepts the
following arguments (Client,MalBlkPtr,MalStkPtr,InstrPtr).
This way, patterns have access to the complete context of the call.

The subsequent calls to MCgetClient and GDKout/GDKerr have been reduced
to those cases where it involves debugging. (could be reduced further)


U sql_scenario.mx
Index: sql_scenario.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_scenario.mx,v
retrieving revision 1.310
retrieving revision 1.311
diff -u -d -r1.310 -r1.311
--- sql_scenario.mx     9 Jul 2008 18:32:37 -0000       1.310
+++ sql_scenario.mx     11 Jul 2008 08:34:16 -0000      1.311
@@ -47,9 +47,9 @@
 sql5_export str SQLreader(Client c);
 sql5_export str SQLparser(Client c);
 sql5_export str SQLengine(Client c);
-sql5_export str SQLassert(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str SQLassertInt(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str SQLassertLng(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str SQLassert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str SQLassertInt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str SQLassertLng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 
 sql5_export str SQLinitEnvironment(int *ret);
 sql5_export str SQLstatement(int *ret, str *expr);
@@ -976,7 +976,7 @@
                /* switch to different language mode */
                char oldlang= be->language;
                be->language= 'D';
-               runMALDebugger(c->curprg);
+               runMALDebugger(c,c->curprg);
                be->language= oldlang;
        }
        if( err ||
@@ -1103,10 +1103,10 @@
                                /* switch to differnt language mode */
                                char oldlang= be->language;
                                be->language= 'D';
-                               runMALDebugger(c->curprg);
+                               runMALDebugger(c,c->curprg);
                                be->language= oldlang;
                        }
-                       showErrors();
+                       showErrors(c);
                        /* restore the state */
                        resetMalBlk(c->curprg->def, oldstop);
                        freeVariables(c->curprg->def, c->glb, oldvtop);
@@ -1354,7 +1354,7 @@
                        showException(getExceptionType(msg), p, 
getExceptionMessage(msg));
                        GDKfree(p);
                }
-               showErrors();
+               showErrors(c);
                m->session->status = -10;
        }
 @-
@@ -1412,7 +1412,7 @@
 
        chkTypes(c->nspace, c->curprg->def); /* resolve types */
        if (c->curprg->def->errors) {
-               showErrors();
+               showErrors(c);
                /* restore the state */
                resetMalBlk(c->curprg->def, oldstop);
                freeVariables(c->curprg->def, c->glb, oldvtop);
@@ -1435,9 +1435,10 @@
 to ease debugging.
 @c
 str
-SQLassert(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+SQLassert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
        bit *flg = (bit*) getArgReference(stk,pci, 1);
        str *msg = (str*) getArgReference(stk,pci, 2);
+       (void) cntxt;
        (void)mb;
        if (*flg){
                /* mdbDump(mb,stk,pci);*/
@@ -1447,9 +1448,10 @@
 }
 
 str
-SQLassertInt(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+SQLassertInt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
        int *flg = (int*) getArgReference(stk,pci, 1);
        str *msg = (str*) getArgReference(stk,pci, 2);
+       (void) cntxt;
        (void)mb;
        if (*flg){
                /* mdbDump(mb,stk,pci);*/
@@ -1459,9 +1461,10 @@
 }
 
 str
-SQLassertLng(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+SQLassertLng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
        lng *flg = (lng*) getArgReference(stk,pci, 1);
        str *msg = (str*) getArgReference(stk,pci, 2);
+       (void) cntxt;
        (void)mb;
        if (*flg){
                /* mdbDump(mb,stk,pci);*/

U sql.mx
Index: sql.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql.mx,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -d -r1.267 -r1.268
--- sql.mx      9 Jul 2008 18:32:36 -0000       1.267
+++ sql.mx      11 Jul 2008 08:34:14 -0000      1.268
@@ -685,47 +685,47 @@
 extern BAT *mvc_bind_dbat(mvc *m, char *sname, char *tname, int access);
 extern BAT *mvc_bind_idxbat(mvc *m, char *sname, char *tname, char *iname, int 
access);
 
-sql5_export str SQLcommit(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str SQLrollback(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str SQLcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str SQLrollback(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 
-sql5_export str mvc_append_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_update_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_bind_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str mvc_append_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_update_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_bind_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str mvc_bind_single_wrap(int *ret, int *bid, str *name);
-sql5_export str mvc_bind_dbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_bind_idxbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_clear_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_delete_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_result_row_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_result_file_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_result_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_result_column_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_result_value_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str mvc_bind_dbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_bind_idxbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_clear_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_delete_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_result_row_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_result_file_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_result_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_result_column_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_result_value_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 
-sql5_export str mvc_declared_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_declared_table_column_wrap(MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_declared_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_declared_table_column_wrap(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
 
-sql5_export str mvc_affected_rows_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_export_result_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str mvc_export_operation_wrap(MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-sql5_export str mvc_import_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str mvc_affected_rows_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_export_result_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str mvc_export_operation_wrap(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
+sql5_export str mvc_import_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 sql5_export str bathash_wrap(int *res, int *bid );
-sql5_export str hash_wrap(MalBlkPtr m, MalStkPtr s, InstrPtr p);
-sql5_export str setVariable(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str getVariable(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str sql_variables(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_logfile(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_next_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_bat_next_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_get_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_restart_seq(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str hash_wrap(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p);
+sql5_export str setVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str getVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str sql_variables(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_logfile(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_next_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_bat_next_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_get_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mvc_restart_seq(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str zero_or_one(ptr ret, int *bid);
 sql5_export str not_unique(bit *ret, int *bid);
 sql5_export str month_interval_str( int *ret, str *s, int *ek, int *sk );
 sql5_export str second_interval_str( lng *res, str *s, int *ek, int *sk );
-sql5_export str dump_cache(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str dump_opt_stats(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str sql_rowid(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str dump_cache(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str dump_opt_stats(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str sql_rowid(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str sql_rank_grp(bat *rid, bat *bid, bat *gid, bat *gpe);
 sql5_export str sql_rank(bat *rid, bat *bid);
 sql5_export str sql_dense_rank_grp(bat *rid, bat *bid, bat *gid, bat *gpe);
@@ -759,8 +759,8 @@
 @:cast_export(daytime,daytime_tostr)@
 @:cast_export(date,date_tostr)@
 @:cast_export(sqlblob,sqlblob_tostr)@
-sql5_export str SQLstr_cast(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str SQLbatstr_cast(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str SQLstr_cast(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str SQLbatstr_cast(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 @= fround_export
 sql5_export str @1_dec_round_wrap( @1 *res, @1 *v, @1 *r );
 sql5_export str @1_round_wrap( @1 *res, @1 *v, bte *r );
@@ -846,7 +846,7 @@
 @:numcastdown_export(sht,lng)@
 @:numcastdown_export(int,lng)@
 
-sql5_export str getContext(MalBlkPtr mb, mvc **c, backend **b );
+sql5_export str getContext(Client cntxt, MalBlkPtr mb, mvc **c, backend **b );
 
 #endif /* _SQL_H */
 
@@ -990,28 +990,27 @@
 
 @c
 str 
-getContext(MalBlkPtr mb, mvc **c, backend **b )
+getContext(Client cntxt, MalBlkPtr mb, mvc **c, backend **b )
 {
-       Client _client = MCgetClient();
-
        (void)mb;
-       if (_client == NULL ) 
+       if (cntxt == NULL ) 
                throw(SQL, "mvc","Can not access client record");
-       if (_client->state[MAL_SCENARIO_PARSER] == NULL || 
_client->state[MAL_SCENARIO_OPTIMIZE] == NULL)
+       if (cntxt->state[MAL_SCENARIO_PARSER] == NULL || 
cntxt->state[MAL_SCENARIO_OPTIMIZE] == NULL)
                throw(SQL, "mvc","MAL_SCENARIO_PARSER not initialized");
-       *c = ((mvc *) _client ->state[MAL_SCENARIO_OPTIMIZE]); 
+       *c = ((mvc *) cntxt ->state[MAL_SCENARIO_OPTIMIZE]); 
        if (b)
-               *b = ((backend*) _client->state[MAL_SCENARIO_PARSER]);
+               *b = ((backend*) cntxt->state[MAL_SCENARIO_PARSER]);
        return MAL_SUCCEED;
 }
 
 str
-SQLcommit(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+SQLcommit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *ret  = (int *) getArgReference(stk, pci, 0);
 
+       (void) cntxt;
        if (msg)
                return msg;
        *ret = 0;
@@ -1019,12 +1018,13 @@
        return MAL_SUCCEED;
 }
 str
-SQLrollback(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+SQLrollback(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m=NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *ret  = (int *) getArgReference(stk, pci, 0);
 
+       (void) cntxt;
        if (msg)
                return msg;
        *ret = 0;
@@ -1034,15 +1034,16 @@
 
 /* setVariable(int *ret, str *name, any value) */
 str
-setVariable(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+setVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        char buf[BUFSIZ];
        mvc *m = NULL;
        int mtype = getArgType(mb, pci, 2);
        str varname   = *(str *) getArgReference(stk, pci, 1);
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        ValRecord *src;
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1065,14 +1066,15 @@
 
 /* getVariable(int *ret, str *name) */
 str
-getVariable(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+getVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
        int mtype = getArgType(mb, pci, 0);
        str varname   = *(str *) getArgReference(stk, pci, 1);
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        ValRecord *dst, *src;
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1090,14 +1092,15 @@
 }
 
 str
-sql_variables(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+sql_variables(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        int i;
        mvc *m = NULL;
        BAT *vars, *r; 
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *res = (int *) getArgReference(stk, pci, 0);
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1115,13 +1118,14 @@
 
 /* str mvc_logfile(int *d, str *filename); */
 str
-mvc_logfile(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_logfile(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *res = (int *) getArgReference(stk, pci, 0);
        str filename = *(str *)getArgReference(stk, pci, 1);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (m->scanner.log) {
@@ -1137,15 +1141,16 @@
 
 /* str mvc_next_value(lng *res, str *sname, str *seqname); */
 str
-mvc_next_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_next_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s;
        lng *res  = (lng *) getArgReference(stk, pci, 0);
        str *sname  = (str *) getArgReference(stk, pci, 1);
        str *seqname  = (str *) getArgReference(stk, pci, 2);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, *sname);
@@ -1162,10 +1167,10 @@
 
 /* str mvc_bat_next_value(int *res, int *sid, str *seqname); */
 str
-mvc_bat_next_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_bat_next_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        BAT *b, *r;
        BUN p,q;
        sql_schema *s = NULL;
@@ -1176,6 +1181,7 @@
        int *sid  = (int *) getArgReference(stk, pci, 1);
        str *seqname  = (str *) getArgReference(stk, pci, 2);
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1230,15 +1236,16 @@
 
 /* str mvc_get_value(lng *res, str *sname, str *seqname); */
 str
-mvc_get_value(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_get_value(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s;
        lng *res  = (lng *) getArgReference(stk, pci, 0);
        str *sname  = (str *) getArgReference(stk, pci, 1);
        str *seqname  = (str *) getArgReference(stk, pci, 2);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, *sname);
@@ -1253,16 +1260,17 @@
 
 /* str mvc_restart_seq(lng *res, str *sname, str *seqname, lng *start); */
 str
-mvc_restart_seq(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_restart_seq(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s;
        lng *res  = (lng *) getArgReference(stk, pci, 0);
        str *sname  = (str *) getArgReference(stk, pci, 1);
        str *seqname  = (str *) getArgReference(stk, pci, 2);
        lng *start  = (lng *) getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, *sname);
@@ -1319,17 +1327,18 @@
 
 /* str mvc_bind_wrap(int *bid, str *sname, str *tname, str *cname, int 
*access); */
 str
-mvc_bind_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_bind_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b = NULL;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *bid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
        str *cname = (str *)getArgReference(stk, pci, 3);
        int *access = (int *)getArgReference(stk, pci, 4);
 
+       (void) cntxt;
        if (msg)
                return msg;
        b = mvc_bind(m, *sname, *tname, *cname, *access);
@@ -1342,17 +1351,18 @@
 
 /* str mvc_bind_idxbat_wrap(int *bid, str *sname, str *tname, str *iname, int 
*access); */
 str
-mvc_bind_idxbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_bind_idxbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b = NULL;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *bid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
        str *iname = (str *)getArgReference(stk, pci, 3);
        int *access = (int *)getArgReference(stk, pci, 4);
 
+       (void) cntxt;
        if (msg)
                return msg;
        b = mvc_bind_idxbat(m, *sname, *tname, *iname, *access);
@@ -1366,10 +1376,10 @@
 
 /*mvc_append_wrap(int *bid, str *sname, str *tname, str *cname, ptr d) */
 str
-mvc_append_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_append_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        str sname = *(str *)getArgReference(stk, pci, 1);
        str tname = *(str *)getArgReference(stk, pci, 2);
        str cname = *(str *)getArgReference(stk, pci, 3);
@@ -1380,6 +1390,7 @@
        sql_table *t;
        sql_column *c;
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1406,10 +1417,10 @@
 
 /*mvc_update_wrap(int *bid, str *sname, str *tname, str *cname, ptr d) */
 str
-mvc_update_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_update_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        str sname = *(str *)getArgReference(stk, pci, 1);
        str tname = *(str *)getArgReference(stk, pci, 2);
        str cname = *(str *)getArgReference(stk, pci, 3);
@@ -1420,6 +1431,7 @@
        sql_table *t;
        sql_column *c;
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1487,16 +1499,17 @@
 
 /* str mvc_bind_dbat_wrap(int *ret, str *sname, str *tname, int *access); */
 str
-mvc_bind_dbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_bind_dbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *ret = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
        int *access = (int*)getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
        b = mvc_bind_dbat(m, *sname, *tname, *access);
@@ -1509,16 +1522,17 @@
 
 /* str mvc_clear_table_wrap(lng *res, str *sname, str *tname); */
 str
-mvc_clear_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_clear_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        sql_schema *s;
        sql_table *t;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        lng *res = (lng *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, *sname);
@@ -1529,10 +1543,10 @@
 
 /*mvc_delete_wrap(int *d, str *sname, str *tname, ptr d) */
 str
-mvc_delete_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_delete_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        str sname = *(str *)getArgReference(stk, pci, 1);
        str tname = *(str *)getArgReference(stk, pci, 2);
        ptr ins = (ptr)getArgReference(stk, pci, 3);
@@ -1542,6 +1556,7 @@
        sql_schema *s;
        sql_table *t;
 
+       (void) cntxt;
        if (msg)
                return msg;
 
@@ -1568,15 +1583,16 @@
 
 /* str mvc_result_row_wrap(int *res_id, int *nr_cols, int *qtype, int *o); */
 str
-mvc_result_row_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_result_row_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *res_id = (int *)getArgReference(stk, pci, 0);
        int *nr_cols = (int *)getArgReference(stk, pci, 1);
        int *qtype = (int *)getArgReference(stk, pci, 2);
        int *o = (int *)getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
        (void)o; /* dummy order */
@@ -1588,12 +1604,12 @@
 
 /* str mvc_result_file_wrap(int *res_id, int *nr_cols, unsigned char* *T, 
unsigned char* *R, unsigned char* *S, unsigned char* *N, bat *order_bid); */
 str 
-mvc_result_file_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_result_file_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str res = MAL_SUCCEED;
        BAT *order;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        res_table *t = NULL;
        unsigned char *tsep = NULL, *rsep = NULL, *ssep = NULL, *ns = NULL;
        ssize_t len;
@@ -1605,6 +1621,7 @@
        unsigned char **N = (unsigned char **)getArgReference(stk, pci, 5);
        bat *order_bid = (bat *)getArgReference(stk, pci, 6);
 
+       (void) cntxt;
        if (msg)
                return msg;
         if ((order = BATdescriptor(*order_bid)) == NULL ) {
@@ -1633,17 +1650,18 @@
 
 /* str mvc_result_table_wrap(int *res_id, int *nr_cols, int *qtype, bat 
*order_bid); */
 str
-mvc_result_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_result_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str res = MAL_SUCCEED;
        BAT *order;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *res_id = (int *)getArgReference(stk, pci, 0);
        int *nr_cols = (int *)getArgReference(stk, pci, 1);
        int *qtype = (int *)getArgReference(stk, pci, 2);
        bat *order_bid = (bat *)getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
         if ((order = BATdescriptor(*order_bid)) == NULL ) {
@@ -1658,12 +1676,12 @@
 
 /* str mvc_result_column_wrap(int *ret, int *rs, str *tn, str *name, str 
*type, int *digits, int *scale, bat *bid); */
 str
-mvc_result_column_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_result_column_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str res = MAL_SUCCEED;
        BAT *b;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int *ret = (int *)getArgReference(stk, pci, 0);
        str *tn = (str *)getArgReference(stk, pci, 2);
        str *name = (str *)getArgReference(stk, pci, 3);
@@ -1672,6 +1690,7 @@
        int *scale = (int *)getArgReference(stk, pci, 6);
        bat *bid = (bat *)getArgReference(stk, pci, 7);
 
+       (void) cntxt;
        if (msg)
                return msg;
         if( (b = BATdescriptor(*bid)) == NULL ){
@@ -1686,7 +1705,7 @@
 
 str
 /*mvc_result_value_wrap(int *ret, int *rs, str *tn, str *name, str *type, int 
*digits, int *scale, ptr p, int mtype)*/
-mvc_result_value_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_result_value_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        int *ret  = (int *) getArgReference(stk, pci, 0);
        str *tn   = (str *) getArgReference(stk, pci, 2);
@@ -1697,8 +1716,9 @@
        ptr p =  (ptr) getArgReference(stk, pci, 7);
        int mtype = getArgType(mb, pci, 7);
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (ATOMextern(mtype)) 
@@ -1711,14 +1731,15 @@
 
 /* str mvc_declared_table_wrap(int *res_id, str *name); */
 str
-mvc_declared_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_declared_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s = NULL;
        int *res_id = (int *) getArgReference(stk, pci, 0);
        str *name = (str *) getArgReference(stk, pci, 1);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, "%dt%");
@@ -1729,10 +1750,10 @@
 
 /* str mvc_declared_table_column_wrap(int *ret, int *rs, str *tname, str 
*name, str *type, int *digits, int *scale); */
 str 
-mvc_declared_table_column_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_declared_table_column_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s = NULL;
        sql_table *t = NULL;
        sql_subtype tpe;
@@ -1744,6 +1765,7 @@
        int *digits = (int *) getArgReference(stk, pci, 5);
        int *scale = (int *) getArgReference(stk, pci, 6);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (*rs != 0)
@@ -1759,16 +1781,17 @@
 
 /* str mvc_affected_rows_wrap(int *r, lng *nr, str *w); */
 str
-mvc_affected_rows_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_affected_rows_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        backend *b = NULL;
        mvc *c = NULL;
-       str msg = getContext(mb, &c, &b);
+       str msg = getContext(cntxt,mb, &c, &b);
        int *r  = (int *) getArgReference(stk, pci, 0);
        int mtype = getArgType(mb, pci, 1);
        lng nr;
        str *w = (str *) getArgReference(stk, pci, 2);
 
+       (void) cntxt;
        if (msg)
                return msg;
        c->type = Q_UPDATE;
@@ -1785,16 +1808,17 @@
 
 /* str mvc_export_result_wrap(int *ret, stream **s, int *res_id, str *w); */
 str
-mvc_export_result_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_export_result_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        backend *b = NULL;
        mvc *c = NULL;
-       str msg = getContext(mb, &c, &b);
+       str msg = getContext(cntxt,mb, &c, &b);
        int *ret  = (int *) getArgReference(stk, pci, 0);
        stream **s  = (stream **) getArgReference(stk, pci, 1);
        int *res_id = (int *) getArgReference(stk, pci, 2);
        str *w = (str *) getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (mvc_export_result(c, *s, *res_id, *w)) {
@@ -1806,14 +1830,15 @@
 
 /* str mvc_export_operation_wrap(int *ret, str *w); */
 str
-mvc_export_operation_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_export_operation_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
 {
        backend *b = NULL;
        mvc *c = NULL;
-       str msg = getContext(mb, &c, &b);
+       str msg = getContext(cntxt,mb, &c, &b);
        int *ret  = (int *) getArgReference(stk, pci, 0);
        str *w = (str *) getArgReference(stk, pci, 1);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (mvc_export_operation(c, b->out, *w)) {
@@ -1826,7 +1851,7 @@
 
 str
 /*mvc_export_value_wrap(int *ret, int *qtype, str tn, str name, str type, int 
*digits, int *scale, int *eclass, ptr p, int mtype)*/
-mvc_export_value_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_export_value_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        int *qtype= (int *) getArgReference(stk, pci, 1);
        str *tn   = (str *) getArgReference(stk, pci, 2);
@@ -1840,8 +1865,9 @@
        str *w = (str *) getArgReference(stk, pci, 9);
        backend *b = NULL;
        mvc *c = NULL;
-       str msg = getContext(mb, &c, &b);
+       str msg = getContext(cntxt,mb, &c, &b);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (ATOMextern(mtype)) 
@@ -1853,11 +1879,11 @@
 
 /* str mvc_import_table_wrap(int *res, bstream **s, str *sname, str *tname, 
unsigned char* *T, unsigned char* *R, unsigned char* *S, unsigned char* *N, int 
*sz, int *offset); */
 str
-mvc_import_table_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mvc_import_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        unsigned char *tsep = NULL, *rsep = NULL, *ssep = NULL, *ns = NULL;
        ssize_t len = 0;
        int *res = (int *) getArgReference(stk, pci, 0);
@@ -1871,6 +1897,7 @@
        int *sz = (int *) getArgReference(stk, pci, 8);
        int *offset = (int *) getArgReference(stk, pci, 9);
 
+       (void) cntxt;
        if (msg)
                return msg;
        len = strlen((char*)(*T));
@@ -2063,11 +2090,12 @@
 
 
 str
-hash_wrap(MalBlkPtr m, MalStkPtr s, InstrPtr p)
+hash_wrap(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p)
 {
        ptr v;
        int *res, tpe = getArgType(m,p,1);
 
+       (void) cntxt;
        res= (int *) getArgReference(s,p,0);
        v = getArgReference(s,p,1);
 
@@ -2431,7 +2459,7 @@
 }
 
 str
-SQLstr_cast(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+SQLstr_cast(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str *res  = (str *) getArgReference(stk, pci, 0);
        int eclass = *(int*) getArgReference(stk, pci, 1);
@@ -2442,8 +2470,9 @@
        int tpe = getArgType(mb, pci, 5);
        int len   = *(int *) getArgReference(stk, pci, 6);
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if (ATOMextern(tpe)) 
@@ -2453,13 +2482,13 @@
 
 /* str SQLbatstr_cast(int *res, int *eclass, int *d1, int *s1, int *has_tz, 
int *bid, int *digits ); */
 str 
-SQLbatstr_cast(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+SQLbatstr_cast(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b, *dst;
        BATiter bi;
        BUN p,q;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        char *r = NULL;
        int *res  = (int *) getArgReference(stk, pci, 0);
        int *eclass = (int*) getArgReference(stk, pci, 1);
@@ -2469,6 +2498,7 @@
        int *bid   = (int*) getArgReference(stk, pci, 5);
        int *digits   = (int *) getArgReference(stk, pci, 6);
 
+       (void) cntxt;
        if (msg)
                return msg;
        if( (b = BATdescriptor(*bid)) == NULL ){
@@ -3192,15 +3222,16 @@
 
 /* str dump_cache(int *r); */
 str
-dump_cache(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+dump_cache(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int cnt; 
        BAT *t, *query, *count;
        cq *q = NULL;
        int *r = (int *) getArgReference(stk, pci, 0);
 
+       (void) cntxt;
        if (msg)
                return msg;
        cnt = m->qc->id; 
@@ -3226,14 +3257,15 @@
 
 /* str dump_opt_stats(int *r); */
 str
-dump_opt_stats(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+dump_opt_stats(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        int cnt; 
        BAT *t, *rewrite, *count;
        int *r = (int *) getArgReference(stk, pci, 0);
 
+       (void) cntxt;
        if (msg)
                return msg;
        cnt = m->qc->id; 
@@ -3258,11 +3290,11 @@
 
 /* str sql_rowid(oid *rid, ptr v, str *sname, str *tname); */
 str 
-sql_rowid(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+sql_rowid(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt,mb, &m, NULL);
        sql_schema *s = NULL;
        sql_table *t = NULL;
        sql_column *c = NULL;
@@ -3271,6 +3303,7 @@
        str *sname = (str *) getArgReference(stk, pci, 2);
        str *tname = (str *) getArgReference(stk, pci, 3);
 
+       (void) cntxt;
        if (msg)
                return msg;
        s = mvc_bind_schema(m, *sname);

U sql_optimizer.mx
Index: sql_optimizer.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_optimizer.mx,v
retrieving revision 1.185
retrieving revision 1.186
diff -u -d -r1.185 -r1.186
--- sql_optimizer.mx    12 Jun 2008 20:13:51 -0000      1.185
+++ sql_optimizer.mx    11 Jul 2008 08:34:16 -0000      1.186
@@ -162,7 +162,7 @@
 #define TOSMALL 10
 
 str 
-FXoptimizer(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+FXoptimizer(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        InstrPtr *ns, p;
        int v;
@@ -173,6 +173,7 @@
        stream_printf(GDKout, "First call to FXoptimizer\n");
        printFunction(GDKout, mb, LIST_MAL_ALL);
 #endif
+       (void) cntxt;
        (void)stk;
        if( mb->errors) {
                /* remove the FXoptimizer request */
@@ -259,7 +260,7 @@
        GDKfree(mb->stmt);
        mb->stmt = ns;
 
-       optimizerCheck(mb,"sql.factorize",1,GDKusec()-clk, OPT_CHECK_ALL);
+       optimizerCheck(cntxt,mb,"sql.factorize",1,GDKusec()-clk, OPT_CHECK_ALL);
 @-
 At this stage we can once call upon the optimizers to do their work.
 Static known information is known and stored in constant variables,
@@ -295,7 +296,7 @@
 @c
 
 static void
-SQLgetStatistics(mvc *m, MalBlkPtr mb)
+SQLgetStatistics(Client cntxt, mvc *m, MalBlkPtr mb)
 {
        InstrPtr *old = NULL;
        int oldtop, i, actions = 0, size = 0, j = 0;
@@ -434,7 +435,7 @@
                }
        }
        GDKfree(old);
-       optimizerCheck(mb,"optimizer.SQLgetstatistics",actions,GDKusec()-clk,0);
+       
optimizerCheck(cntxt,mb,"optimizer.SQLgetstatistics",actions,GDKusec()-clk,0);
 }
 @-
 The optimizers applied are taken from a list managed with
@@ -458,9 +459,10 @@
 /*     "replicator," */
        "accumulators,"
        "deadcode,"
-       "recycle,"  
+       "recycle," 
        "reduce,"
        "garbageCollector," 
+       /* "dataflow,"*/
        "multiplex";
 static str minimalPlan=
        "multiplex";
@@ -513,7 +515,7 @@
        backend *be = ((backend *) c->state[MAL_SCENARIO_PARSER]);
        str optimizer;
        MalBlkPtr mb;
-       ValRecord src;
+       ValRecord src;
 
        insertSymbol(c->nspace, c->curprg);
        trimMalBlk(c->curprg->def);
@@ -532,12 +534,12 @@
        if (mb->errors) {
                mvc *m;
                m = ((mvc *) c->state[MAL_SCENARIO_OPTIMIZE]);
-               showErrors();
+               showErrors(c);
 
                if (c->listing)
                        printFunction(c->fdout, mb, c->listing);
                if ( m->debug )
-                       runMALDebugger(c->curprg);
+                       runMALDebugger(c,c->curprg);
                return;
        }
        optimizer = stack_get_string(be->mvc, "optimizer");
@@ -561,7 +563,7 @@
                stack_set_var(be->mvc, "optimizer", 
                        VALset(&src, TYPE_str, defaultPlan? 
defaultPlan:minimalPlan));
                addOptimizers(c,mb, base);
-               optimizeMALBlock(mb);
+               optimizeMALBlock(c,mb);
        } else
        if( strcmp(optimizer,"off")==0 ){ 
                str base = GDKstrdup(minimalPlan);
@@ -570,7 +572,7 @@
                        VALset(&src, TYPE_str, minimalPlan));
                /* no real optimization needed */
                addOptimizers(c,mb, base);
-               optimizeMALBlock(mb);
+               optimizeMALBlock(c,mb);
        } else {
                str base = GDKstrdup(optimizer);
 
@@ -578,9 +580,9 @@
 
                /* time to execute the optimizers */
                if( c->debug)
-                       optimizerCheck(mb,"sql.baseline",-1,0, OPT_CHECK_ALL);
-               SQLgetStatistics((mvc *) c->state[MAL_SCENARIO_OPTIMIZE],mb);
-               optimizeMALBlock(mb);
+                       optimizerCheck(c,mb,"sql.baseline",-1,0, OPT_CHECK_ALL);
+               SQLgetStatistics(c,(mvc *) c->state[MAL_SCENARIO_OPTIMIZE],mb);
+               optimizeMALBlock(c,mb);
        }
 }
 

U sql_bpm.mx
Index: sql_bpm.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_bpm.mx,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- sql_bpm.mx  9 Jul 2008 18:32:37 -0000       1.9
+++ sql_bpm.mx  11 Jul 2008 08:34:15 -0000      1.10
@@ -65,15 +65,15 @@
 #define _SQL_BPM_H_
 #include "sql.h"
 
-sql5_export str mat_bind_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str mat_bind_idxbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str inc_parts_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str Cparts(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str dist_bindHost_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-sql5_export str dist_setHost_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str mat_bind_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str mat_bind_idxbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
+sql5_export str inc_parts_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str Cparts(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+sql5_export str dist_bindHost_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+sql5_export str dist_setHost_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str dist_addHost_wrap(int *id, str *host, int *port, str *dbname, 
str *user, str *passwd);
 sql5_export str dist_reconnect_wrap(int *mid, int *id);
-sql5_export str dist_send_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+sql5_export str dist_send_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 
 #endif /* _SQL_BPM_H_ */
 
@@ -112,11 +112,11 @@
 
 /* str mat_bind_wrap(int *bid, str *sname, str *tname, str *cname, int 
*access, int *part); */
 str
-mat_bind_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mat_bind_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b = NULL;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        int *bid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
@@ -154,11 +154,11 @@
 
 /* str mat_bind_idxbat_wrap(int *bid, str *sname, str *tname, str *cname, int 
*access, int *part); */
 str
-mat_bind_idxbat_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+mat_bind_idxbat_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        BAT *b = NULL;
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        int *bid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
@@ -179,10 +179,10 @@
 
 /* str Cparts(int *d, str *sname, str *tname, str *cname, int *access, int 
*parts); */
 str
-Cparts(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+Cparts(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        sql_schema *s;
        sql_table *t;
        sql_column *c;
@@ -245,10 +245,10 @@
 
 /* str inc_parts_wrap(int *d, str *sname, str *tname); */
 str
-inc_parts_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+inc_parts_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        sql_schema *s;
        sql_table *t;
        str *sname = (str *)getArgReference(stk, pci, 1);
@@ -289,10 +289,10 @@
 
 /* str dist_bindHost_wrap(int *host, str *sname, str *tname, str *cname, int 
*part); */
 str
-dist_bindHost_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+dist_bindHost_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        int *host = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
@@ -324,10 +324,10 @@
 
 /* str dist_setHost_wrap(int *bid, str *sname, str *tname, str *cname, int 
*part, int *host); */
 str 
-dist_setHost_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+dist_setHost_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        int *bid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);
@@ -387,10 +387,10 @@
 
 /* str dist_send_wrap(int *mid, str *sname, str *tname, str *cname, int 
*part); */
 str 
-dist_send_wrap(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+dist_send_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        mvc *m = NULL;
-       str msg = getContext(mb, &m, NULL);
+       str msg = getContext(cntxt, mb, &m, NULL);
        int *mid = (int *)getArgReference(stk, pci, 0);
        str *sname = (str *)getArgReference(stk, pci, 1);
        str *tname = (str *)getArgReference(stk, pci, 2);


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to