Update of /cvsroot/monetdb/MonetDB5/src/optimizer
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17076
Modified Files:
opt_recycler.mx
Log Message:
The expected gain is largest if we can re-use selections
on the base tables in SQL. These, however, are marked as
uselect() calls, which only produces the oid head.
For cheap types we re-map uselect() back into select().
For the time being for all possible selects encountered.
(keeping track of the sql.bind() dependency is more work)
Index: opt_recycler.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/opt_recycler.mx,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- opt_recycler.mx 8 Mar 2008 18:21:46 -0000 1.6
+++ opt_recycler.mx 14 Mar 2008 07:30:56 -0000 1.7
@@ -95,7 +95,7 @@
@-
Functions with side effects can not be subject to recycle actions.
@c
- if( hasSideEffects(p,TRUE))
+ if( hasSideEffects(p,TRUE) || isUnsafeFunction(p))
continue;
cnt= 0;
for( j=p->retc; j<p->argc; j++)
@@ -115,15 +115,21 @@
#endif
}
}
[EMAIL PROTECTED]
+The expected gain is largest if we can re-use selections
+on the base tables in SQL. These, however, are marked as
+uselect() calls, which only produces the oid head.
+For cheap types we re-map uselect() back into select().
+For the time being for all possible selects encountered.
+(keeping track of the sql.bind() dependency is more work)
[EMAIL PROTECTED]
/* take care of semantic driven recyling */
- if( getFunctionId(p)== uselectRef ||
- getFunctionId(p)== selectRef ||
- getFunctionId(p)== markTRef ||
- getFunctionId(p)== joinRef ||
- getFunctionId(p)== semijoinRef
+ if( p->recycle &&
+ getFunctionId(p)== selectRef &&
+ !ATOMvarsized( getGDKType( getArgType(mb,p,1)))
){
- actions ++;
- p->recycle = 1; /* this instruction is to be monitored
*/
+ setFunctionId(p, selectRef);
+ typeChecker(MCgetClient()->nspace,mb,p,TRUE);
}
}
if( actions)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins