Changeset: 37c0236b1fc8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/37c0236b1fc8
Modified Files:
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_constants.c
Branch: default
Log Message:
Avoid searching for common terms
diffs (24 lines):
diff --git a/monetdb5/optimizer/opt_commonTerms.c
b/monetdb5/optimizer/opt_commonTerms.c
--- a/monetdb5/optimizer/opt_commonTerms.c
+++ b/monetdb5/optimizer/opt_commonTerms.c
@@ -147,7 +147,7 @@ OPTcommonTermsImplementation(Client cntx
bailout = 1024 ; // don't run over long collision list
/* Look into the hash structure for matching instructions */
for (j = hash[h]; j > 0 && bailout-- > 0 ; j = list[j])
- if ( (q= getInstrPtr(mb,j)) && getFunctionId(q) ==
getFunctionId(p) && getModuleId(q) == getModuleId(p) ){
+ if ( (q= getInstrPtr(mb,j)) && getFunctionId(q) ==
getFunctionId(p) && getModuleId(q) == getModuleId(p) && getModuleId(p) !=
sqlRef){
TRC_DEBUG(MAL_OPTIMIZER, "Candidate[%d->%d] %d
%d :%d %d %d=%d %d %d %d\n",
j, list[j],
hasSameSignature(mb, p, q),
diff --git a/monetdb5/optimizer/opt_constants.c
b/monetdb5/optimizer/opt_constants.c
--- a/monetdb5/optimizer/opt_constants.c
+++ b/monetdb5/optimizer/opt_constants.c
@@ -57,7 +57,7 @@ OPTconstantsImplementation(Client cntxt,
for(i=0; i<mb->stop; i++){
q = getInstrPtr(mb,i);
- if( hasSideEffects(mb, q, 1) )
+ if( hasSideEffects(mb, q, 1) || getModuleId(q) == sqlRef )
continue;
for(k= q->retc; k < q->argc; k++){
j = getArg(q,k);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list