Changeset: c35df5669d2a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c35df5669d2a
Modified Files:
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_support.c
        sql/backends/monet5/sql_statement.c
Branch: Aug2024
Log Message:

skip mat functions for commonTerms as they need to work in sets
don't mark mat as Update function as that breaks dataflow
properly set null for Nop's.


diffs (38 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
@@ -144,6 +144,11 @@ OPTcommonTermsImplementation(Client cntx
                        old[i] = NULL;
                        continue;
                }
+               if (getModuleId(p) == matRef) { /* mat.packIncrement has 
requirement on number of instructions (or that needs an update */
+                       pushInstruction(mb, p);
+                       old[i] = NULL;
+                       continue;
+               }
 
                /* from here we have a candidate to look for a match */
 
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -264,8 +264,6 @@ isUpdateInstruction(InstrPtr p)
                && (getFunctionId(p) == appendRef || getFunctionId(p) == 
replaceRef
                        || getFunctionId(p) == deleteRef))
                return TRUE;
-       if (getModuleId(p) == matRef)
-               return TRUE;
        return FALSE;
 }
 
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -4633,7 +4633,6 @@ stmt_has_null(stmt *s)
 {
        switch (s->type) {
        case st_aggr:
-       case st_Nop:
        case st_semijoin:
        case st_uselect:
        case st_uselect2:
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to