Changeset: d2ba35c596fe for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d2ba35c596fe
Modified Files:
monetdb5/optimizer/opt_emptycolumn.c
Branch: jit
Log Message:
Add optimizer defense line
diffs (36 lines):
diff --git a/monetdb5/optimizer/opt_emptycolumn.c
b/monetdb5/optimizer/opt_emptycolumn.c
--- a/monetdb5/optimizer/opt_emptycolumn.c
+++ b/monetdb5/optimizer/opt_emptycolumn.c
@@ -58,6 +58,8 @@ OPTemptycolumnImplementation(Client cntx
int *marked;
int limit = mb->stop;
InstrPtr p, *old = mb->stmt;
+ char buf[256];
+ lng usec = GDKusec();
// use an instruction reference table to keep
// track of where 'emptycolumn' results are produced
@@ -168,13 +170,22 @@ OPTemptycolumnImplementation(Client cntx
}
}
- chkTypes(cntxt->fdout, cntxt->nspace,mb,TRUE);
OPTDEBUGemptycolumn{
+ chkTypes(cntxt->fdout, cntxt->nspace,mb,TRUE);
mnstr_printf(GDKout, "Optimize Query Emptybind done\n");
printFunction(GDKout, mb, 0, LIST_MAL_DEBUG);
}
GDKfree(old);
GDKfree(marked);
+ /* Defense line against incorrect plans */
+ if( actions > 0){
+ chkTypes(cntxt->fdout, cntxt->nspace, mb, FALSE);
+ chkFlow(cntxt->fdout, mb);
+ chkDeclarations(cntxt->fdout, mb);
+ }
+ /* keep all actions taken as a post block comment */
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","emptycolumn",actions,GDKusec() - usec);
+ newComment(mb,buf);
return actions;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list