Changeset: e38f10f678a7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e38f10f678a7
Added Files:
        sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py
Modified Files:
        clients/Tests/All
        clients/Tests/exports.stable.out
        monetdb5/modules/mal/00_calc_hge.mal.sh
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_gencode.c
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
        sql/test/BugTracker-2015/Tests/All
        testing/Mtest.py.in
Branch: default
Log Message:

Merge with default.


diffs (truncated from 6166 to 300 lines):

diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -3,7 +3,7 @@ HAVE_CFITSIO&HAVE_GEOM&HAVE_GSL&HAVE_LIB
 
HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_fits_geom
 
!HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_geom
 
!HAVE_CFITSIO&!HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_none
-HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_all
+HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_all
 HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_geom
-!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_none
+!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_none
 MERCURIAL?malcheck
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2746,6 +2746,7 @@ str submaxRef;
 str submedianRef;
 str subminRef;
 str subprodRef;
+str subrangejoinRef;
 str subselectRef;
 str subsliceRef;
 str subsortRef;
diff --git a/monetdb5/modules/mal/00_calc_hge.mal.sh 
b/monetdb5/modules/mal/00_calc_hge.mal.sh
--- a/monetdb5/modules/mal/00_calc_hge.mal.sh
+++ b/monetdb5/modules/mal/00_calc_hge.mal.sh
@@ -89,8 +89,8 @@ echo
 
 for func in 'abs:ABS:Unary absolute value of V' \
     '-:NEG:Unary negation of V' \
-    '++:INCR:Unary V + 1' \
-    '--:DECR:Unary V - 1'; do
+    '++:INCRsignal:Unary V + 1' \
+    '--:DECRsignal:Unary V - 1'; do
     op=${func%%:*}
     com=${func##*:}
     func=${func%:*}
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -121,6 +121,7 @@ str thetajoinRef;
 str subjoinRef;
 str subantijoinRef;
 str subbandjoinRef;
+str subrangejoinRef;
 str subthetajoinRef;
 str kdifferenceRef;
 str kunionRef;
@@ -373,6 +374,7 @@ void optimizerInit(void)
        subjoinRef = putName("subjoin",7);
        subantijoinRef = putName("subantijoin",11);
        subbandjoinRef = putName("subbandjoin",11);
+       subrangejoinRef = putName("subrangejoin",12);
        subthetajoinRef = putName("subthetajoin",12);
        jsonRef = putName("json",4);
        kdifferenceRef= putName("kdifference",11);
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -119,6 +119,7 @@ opt_export  str thetajoinRef;
 opt_export  str subjoinRef;
 opt_export  str subantijoinRef;
 opt_export  str subbandjoinRef;
+opt_export  str subrangejoinRef;
 opt_export  str subthetajoinRef;
 opt_export  str kdifferenceRef;
 opt_export  str kunionRef;
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
@@ -878,14 +878,12 @@ int isDiffOp(InstrPtr p){
 int isMatJoinOp(InstrPtr p){
        return (getModuleId(p) == algebraRef &&
                 (getFunctionId(p) == crossRef ||
+                 getFunctionId(p) == joinRef ||
                  getFunctionId(p) == subjoinRef ||
-                 getFunctionId(p) == joinRef ||
-                 getFunctionId(p) == antijoinRef || /* is not mat save */
                  getFunctionId(p) == subantijoinRef || /* is not mat save */
-                 getFunctionId(p) == thetajoinRef ||
                  getFunctionId(p) == subthetajoinRef ||
-                 getFunctionId(p) == bandjoinRef ||
-                 getFunctionId(p) == subbandjoinRef)
+                 getFunctionId(p) == subbandjoinRef ||
+                 getFunctionId(p) == subrangejoinRef)
                );
 }
 
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -1996,7 +1996,7 @@ rel2bin_except( mvc *sql, sql_rel *rel, 
 
        /* now find the matching groups */
 
-       /* TODO change to leftjoin semantics to keep those in A not in B */
+       /* TODO change to left outer join semantics to keep those in A not in B 
*/
        /* would need outerjoin eqjoin and outer project code, cleans up 
following mess */
        for (n = left->op4.lval->h, m = right->op4.lval->h; n && m; n = 
n->next, m = m->next) {
                stmt *l = column(sql->sa, n->data);
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -1253,10 +1253,10 @@ static int
                                        return -1;
                                k = getDestVar(q);
                        } else {
-                               char *cmd = "subselect";
+                               char *cmd = subselectRef;
 
                                if (s->flag != cmp_equal && s->flag != 
cmp_notequal)
-                                       cmd = "thetasubselect";
+                                       cmd = thetasubselectRef;
 
                                if (get_cmp(s) == cmp_filter) {
                                        node *n;
@@ -1304,7 +1304,7 @@ static int
 
                                switch (s->flag) {
                                case cmp_equal:{
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1318,7 +1318,7 @@ static int
                                        break;
                                }
                                case cmp_notequal:{
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1332,7 +1332,7 @@ static int
                                        break;
                                }
                                case cmp_lt:
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1342,7 +1342,7 @@ static int
                                                return -1;
                                        break;
                                case cmp_lte:
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1352,7 +1352,7 @@ static int
                                                return -1;
                                        break;
                                case cmp_gt:
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1362,7 +1362,7 @@ static int
                                                return -1;
                                        break;
                                case cmp_gte:
-                                       q = newStmt1(mb, algebraRef, cmd);
+                                       q = newStmt2(mb, algebraRef, cmd);
                                        q = pushArgument(mb, q, l);
                                        if (sub > 0)
                                                q = pushArgument(mb, q, sub);
@@ -1389,7 +1389,7 @@ static int
                        int r1 = -1, r2 = -1, rs = 0;
                        bit anti = (s->flag & ANTI) ? TRUE : FALSE;
                        bit swapped = (s->flag & SWAPPED) ? TRUE : FALSE;
-                       char *cmd = (s->type == st_uselect2) ? "subselect" : 
"subrangejoin";
+                       char *cmd = (s->type == st_uselect2) ? subselectRef : 
subrangejoinRef;
                        int sub = -1;
 
                        if (l < 0)
@@ -1476,7 +1476,7 @@ static int
                                if ((r2 = _dumpstmt(sql, mb, s->op3)) < 0)
                                        return -1;
                        }
-                       q = newStmt1(mb, algebraRef, cmd);
+                       q = newStmt2(mb, algebraRef, cmd);
                        if (s->type == st_join2)
                                q = pushReturn(mb, q, newTmpVariable(mb, 
TYPE_any));
                        q = pushArgument(mb, q, l);
@@ -1641,7 +1641,7 @@ static int
                                q = pushArgument(mb, q, r);
                                q = pushNil(mb, q, TYPE_bat);
                                q = pushNil(mb, q, TYPE_bat);
-                               q = pushBit(mb, q, TRUE);
+                               q = pushBit(mb, q, FALSE);
                                q = pushNil(mb, q, TYPE_lng);
                                if (q == NULL)
                                        return -1;
@@ -1653,7 +1653,7 @@ static int
                                q = pushArgument(mb, q, r);
                                q = pushNil(mb, q, TYPE_bat);
                                q = pushNil(mb, q, TYPE_bat);
-                               q = pushBit(mb, q, FALSE);
+                               q = pushBit(mb, q, TRUE);
                                q = pushNil(mb, q, TYPE_lng);
                                if (q == NULL)
                                        return -1;
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out 
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := 
sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_66) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := 
sql.bind(X_6,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := 
sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_66) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := 
sql.bind(X_6,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out 
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := 
sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_67) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := 
sql.bind(X_7,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := 
sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_67) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := 
sql.bind(X_7,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out 
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
@@ -74,7 +74,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_118 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
     X_53 := sql.subdelta(X_115,X_50,X_40,X_116,X_118);
     X_54 := X_53;
-    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,true,nil:lng);
+    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,false,nil:lng);
     X_59:bat[:oid,:int]  := 
sql.bind(X_8,"sys","lineorder","lo_extendedprice",0);
     (X_62,r1_78) := sql.bind(X_8,"sys","lineorder","lo_extendedprice",2);
     X_65:bat[:oid,:int]  := 
sql.bind(X_8,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
@@ -74,7 +74,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_118 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
     X_53 := sql.subdelta(X_115,X_50,X_40,X_116,X_118);
     X_54 := X_53;
-    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,true,nil:lng);
+    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,false,nil:lng);
     X_59:bat[:oid,:int]  := 
sql.bind(X_8,"sys","lineorder","lo_extendedprice",0);
     (X_62,r1_78) := sql.bind(X_8,"sys","lineorder","lo_extendedprice",2);
     X_65:bat[:oid,:int]  := 
sql.bind(X_8,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out 
b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
@@ -49,14 +49,14 @@ function user.s2_1{autoCommit=true}(A0:s
     X_16 := sql.projectdelta(X_5,X_8,X_11,r1_11,X_14);
     X_19:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_category",0);
     X_17:bat[:oid,:oid]  := sql.tid(X_4,"sys","part");
-    X_165 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
+    X_166 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
     (X_21,r1_22) := sql.bind(X_4,"sys","part","p_category",2);
-    X_166 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
+    X_167 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
     X_23:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_category",1);
-    X_168 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
-    X_24 := sql.subdelta(X_165,X_17,X_21,X_166,X_168);
+    X_169 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
+    X_24 := sql.subdelta(X_166,X_17,X_21,X_167,X_169);
     X_26 := X_24;
-    (X_27,r1_31) := algebra.subjoin(X_16,X_26,nil:BAT,nil:BAT,true,nil:lng);
+    (X_27,r1_31) := algebra.subjoin(X_16,X_26,nil:BAT,nil:BAT,false,nil:lng);
     X_31:bat[:oid,:oid]  := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to