Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15855
Modified Files:
sql.mx sql_scenario.mx
Log Message:
Use patterns i.s.o. commands. Upon need activate the mdbDump().
Index: sql_scenario.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_scenario.mx,v
retrieving revision 1.274
retrieving revision 1.275
diff -u -d -r1.274 -r1.275
--- sql_scenario.mx 26 Jul 2007 11:21:12 -0000 1.274
+++ sql_scenario.mx 19 Aug 2007 19:37:46 -0000 1.275
@@ -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(int *ret, bit *flg, str *msg);
-sql5_export str SQLassertInt(int *ret, int *flg, str *msg);
-sql5_export str SQLassertLng(int *ret, lng *flg, str *msg);
+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 SQLinitEnvironment(int *ret);
sql5_export str SQLstatement(int *ret, str *expr);
@@ -83,6 +83,7 @@
#include "bat5.h"
#include <mtime.h>
#include "optimizer.h"
+#include "opt_statistics.h"
static int SQLinitialized = 0;
static int SQLdebug = 0;
@@ -228,11 +229,12 @@
throw(SQL, "SQLinit", "Catalogue initialization failed");
if (debug_str)
SQLdebug = strtol(debug_str,NULL,10);
- SQLinitialized = TRUE;
+ SQLinitialized = TRUE;
+/*
if (MT_create_thread(&sqllogthread, (void (*)(void *)) mvc_logmanager,
NULL) < 0) {
throw(SQL, "SQLinit", "Starting log manager failed");
-
}
+*/
return MAL_SUCCEED;
}
@@ -243,6 +245,7 @@
stream_printf(GDKout, "#SQLexit\n");
#endif
(void) c; /* not used */
+ QOTstatisticsExit();
if( SQLinitialized == FALSE)
throw(SQL, "SQLexit", "Catalogue not available");
return MAL_SUCCEED;
@@ -849,13 +852,16 @@
c->itrace='c';
q = newStmt(c->curprg->def,"mdb","setTimer");
pushBit(c->curprg->def,q,onoff);
+/*
q = newStmt(c->curprg->def,"mdb","setFlow");
pushBit(c->curprg->def,q,onoff);
+*/
}
void
SQLshowPlan(Client c)
{
+ /* we should determine rendering requirements first */
newStmt(c->curprg->def, "mdb", "listMapi");
}
@@ -1109,7 +1115,7 @@
@c
finalize:
if(m->mode== m_explain && be->q && be->q->code)
- printFunction(GDKout, ((Symbol)(be->q->code))->def,
LIST_MAL_INSTR | LIST_MAL_PROPS | LIST_MAPI);
+ printFunction(GDKout, ((Symbol)(be->q->code))->def,
LIST_MAL_INSTR | LIST_MAL_PROPS | LIST_MAPI );
@-
Gather the statistics for post analysis. It should preferably
be stored in an SQL table
@@ -1279,7 +1285,7 @@
InstrPtr p;
p = getInstrPtr(c->curprg->def,1);
if (p->blk)
- printFunction(c->fdout, p->blk, c->listing |
LIST_MAPI);
+ printFunction(c->fdout, p->blk, c->listing |
LIST_MAPI );
}
c->curprg->def->errors = -1; /* don;t execute */
}
@@ -1387,32 +1393,42 @@
@-
Assertion errors detected during the execution of a code block
-raises an exception.
+raises an exception. An debugger dump is generated upon request
+to ease debugging.
@c
str
-SQLassert(int *ret, bit *flg, str *msg)
-{
- (void) ret;
- if (*flg)
+SQLassert(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+ bit *flg = (bit*) getArgReference(stk,pci, 1);
+ str *msg = (str*) getArgReference(stk,pci, 2);
+ (void)mb;
+ if (*flg){
+ /* mdbDump(mb,stk,pci);*/
throw(SQL, "assert", *msg);
+ }
return MAL_SUCCEED;
}
str
-SQLassertInt(int *ret, int *flg, str *msg)
-{
- (void) ret;
- if (*flg)
+SQLassertInt(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+ int *flg = (int*) getArgReference(stk,pci, 1);
+ str *msg = (str*) getArgReference(stk,pci, 2);
+ (void)mb;
+ if (*flg){
+ /* mdbDump(mb,stk,pci);*/
throw(SQL, "assert", *msg);
+ }
return MAL_SUCCEED;
}
str
-SQLassertLng(int *ret, lng *flg, str *msg)
-{
- (void) ret;
- if (*flg)
+SQLassertLng(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
+ lng *flg = (lng*) getArgReference(stk,pci, 1);
+ str *msg = (str*) getArgReference(stk,pci, 2);
+ (void)mb;
+ if (*flg){
+ /* mdbDump(mb,stk,pci);*/
throw(SQL, "assert", *msg);
+ }
return MAL_SUCCEED;
}
Index: sql.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql.mx,v
retrieving revision 1.230
retrieving revision 1.231
diff -u -d -r1.230 -r1.231
--- sql.mx 1 Jul 2007 14:34:35 -0000 1.230
+++ sql.mx 19 Aug 2007 19:37:46 -0000 1.231
@@ -52,15 +52,15 @@
address SQLstatement
comment "Compile and execute a single sql statement";
-command assert(b:bit,msg:str):void
+pattern assert(b:bit,msg:str):void
address SQLassert
comment "Generate an exception when b==true";
-command assert(b:int,msg:str):void
+pattern assert(b:int,msg:str):void
address SQLassertInt
comment "Generate an exception when b!=0";
-command assert(b:lng,msg:str):void
+pattern assert(b:lng,msg:str):void
address SQLassertLng
comment "Generate an exception when b!=0";
@-
@@ -527,10 +527,6 @@
return x;
end mmath.rand;
-function sql_semijoin(b1:bat[:oid,:any_1], b2:bat[:oid,:any_2])
:bat[:oid,:any_1];
- x := bat.mirror(b2);
- return algebra.join(x,b1);
-end sql_semijoin;
@mal
command prelude()
-------------------------------------------------------------------------
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