Changeset: 14252ed95f1f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14252ed95f1f
Modified Files:
        monetdb5/optimizer/opt_mergetable.c
Branch: default
Log Message:

improved fix for mergetable optimizer handling push down of selects


diffs (21 lines):

diff --git a/monetdb5/optimizer/opt_mergetable.c 
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -2135,7 +2135,7 @@ OPTmergetableImplementation(Client cntxt
 
                /* delta* operator have a ins bat as last argument, we move the 
inserts into the last delta statement, ie
                 * all but last need to remove one argument */
-               if (match == 3 && (bats == 4 /*|| bats == 5*/) && isDelta(p) && 
+               if (match == 3 && bats == 4 && isDelta(p) && 
                   (m=is_a_mat(getArg(p,fm), &ml)) >= 0 &&
                   (n=is_a_mat(getArg(p,fn), &ml)) >= 0 &&
                   (o=is_a_mat(getArg(p,fo), &ml)) >= 0){
@@ -2166,7 +2166,7 @@ OPTmergetableImplementation(Client cntxt
                if (match == 1 && fm == 2 && isSelect(p) && p->retc == 1 &&
                   (m=is_a_mat(getArg(p,fm), &ml)) >= 0 && 
                   !ml.v[m].packed && /* not packed yet */ 
-                  !was_a_mat(getArg(p,fm-1), &ml)){ /* not previously packed */
+                  was_a_mat(getArg(p,fm-1), &ml) < 0){ /* not previously 
packed */
                        if((r = copyInstruction(p)) == NULL) {
                                msg = 
createException(MAL,"optimizer.mergetable",SQLSTATE(HY001) MAL_MALLOC_FAIL);
                                goto cleanup;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to