Changeset: 95fd0f2a50b8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=95fd0f2a50b8
Modified Files:
        sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
        sql/benchmarks/tpch/Tests/01-22.stable.out
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/16-plan.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-plan.stable.out
        sql/benchmarks/tpch/Tests/18.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-plan.stable.out
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
Branch: default
Log Message:

reenable the rel_push_semijoin_down optimzer


diffs (truncated from 1015 to 300 lines):

diff --git a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
@@ -1216,7 +1216,7 @@ Ready.
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   2       ]
+[ "joinidx",   1       ]
 
 # 11:48:06 >  
 # 11:48:06 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/18.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
@@ -70,7 +70,7 @@ Ready.
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   2       ]
+[ "joinidx",   1       ]
 
 # 09:17:20 >  
 # 09:17:20 >  Done.
diff --git a/sql/benchmarks/tpch/Tests/01-22.stable.out 
b/sql/benchmarks/tpch/Tests/01-22.stable.out
--- a/sql/benchmarks/tpch/Tests/01-22.stable.out
+++ b/sql/benchmarks/tpch/Tests/01-22.stable.out
@@ -1216,7 +1216,7 @@ Ready.
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   2       ]
+[ "joinidx",   1       ]
 
 # 11:48:06 >  
 # 11:48:06 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
diff --git a/sql/benchmarks/tpch/Tests/16-explain.stable.out 
b/sql/benchmarks/tpch/Tests/16-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/16-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/16-explain.stable.out
@@ -63,94 +63,94 @@ Ready.
 function 
user.s2_1{autoCommit=true}(A0:str,A1:str,A2:int,A3:int,A4:int,A5:int,A6:int,A7:int,A8:int,A9:int,A10:str):void;
     X_13 := sql.mvc();
     X_14:bat[:oid,:oid]  := sql.tid(X_13,"sys","partsupp");
-    X_17 := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",0);
-    (X_20,r1_20) := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",2);
-    X_23 := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",1);
+    X_17 := sql.bind(X_13,"sys","partsupp","ps_suppkey",0);
+    (X_20,r1_20) := sql.bind(X_13,"sys","partsupp","ps_suppkey",2);
+    X_23 := sql.bind(X_13,"sys","partsupp","ps_suppkey",1);
     X_25 := sql.delta(X_17,X_20,r1_20,X_23);
     X_26 := algebra.leftfetchjoin(X_14,X_25);
-    X_27:bat[:oid,:oid]  := sql.tid(X_13,"sys","part");
-    X_29 := sql.bind(X_13,"sys","part","p_size",0);
-    (X_31,r1_31) := sql.bind(X_13,"sys","part","p_size",2);
-    X_33 := sql.bind(X_13,"sys","part","p_size",1);
-    X_34 := sql.delta(X_29,X_31,r1_31,X_33);
-    X_35 := algebra.leftfetchjoin(X_27,X_34);
-    X_36 := sql.bind(X_13,"sys","part","p_type",0);
-    (X_38,r1_39) := sql.bind(X_13,"sys","part","p_type",2);
-    X_40 := sql.bind(X_13,"sys","part","p_type",1);
-    X_41 := sql.delta(X_36,X_38,r1_39,X_40);
-    X_42 := algebra.leftfetchjoin(X_27,X_41);
-    X_44 := sql.bind(X_13,"sys","part","p_brand",0);
-    (X_47,r1_50) := sql.bind(X_13,"sys","part","p_brand",2);
-    X_49 := sql.bind(X_13,"sys","part","p_brand",1);
-    X_50 := sql.delta(X_44,X_47,r1_50,X_49);
-    X_51 := algebra.leftfetchjoin(X_27,X_50);
-    X_52 := algebra.subselect(X_51,A0,A0,true,true,true);
-    X_54 := algebra.likesubselect(X_42,X_52,A1,"",true);
-    X_55 := algebra.subselect(X_35,X_54,A2,A2,true,true,false);
-    X_57 := algebra.subselect(X_35,X_54,A3,A3,true,true,false);
-    X_58 := bat.mergecand(X_55,X_57);
-    X_59 := algebra.subselect(X_35,X_54,A4,A4,true,true,false);
-    X_60 := bat.mergecand(X_58,X_59);
-    X_61 := algebra.subselect(X_35,X_54,A5,A5,true,true,false);
-    X_62 := bat.mergecand(X_60,X_61);
-    X_63 := algebra.subselect(X_35,X_54,A6,A6,true,true,false);
-    X_64 := bat.mergecand(X_62,X_63);
-    X_65 := algebra.subselect(X_35,X_54,A7,A7,true,true,false);
-    X_66 := bat.mergecand(X_64,X_65);
-    X_67 := algebra.subselect(X_35,X_54,A8,A8,true,true,false);
-    X_68 := bat.mergecand(X_66,X_67);
-    X_69 := algebra.subselect(X_35,X_54,A9,A9,true,true,false);
-    X_70 := bat.mergecand(X_68,X_69);
-    X_71 := algebra.leftfetchjoin(X_70,X_27);
-    (X_72,r1_83) := algebra.join(X_26,X_71);
-    X_74 := sql.bind(X_13,"sys","partsupp","ps_suppkey",0);
-    (X_79,r1_90) := sql.bind(X_13,"sys","partsupp","ps_suppkey",2);
-    X_82 := sql.bind(X_13,"sys","partsupp","ps_suppkey",1);
-    X_84 := sql.delta(X_74,X_79,r1_90,X_82);
-    X_85:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_72,X_14,X_84);
-    X_86 := bat.mirror(X_85);
-    X_87:bat[:oid,:oid]  := sql.tid(X_13,"sys","supplier");
-    X_89 := sql.bind(X_13,"sys","supplier","s_comment",0);
-    (X_91,r1_103) := sql.bind(X_13,"sys","supplier","s_comment",2);
-    X_93 := sql.bind(X_13,"sys","supplier","s_comment",1);
-    X_94 := sql.delta(X_89,X_91,r1_103,X_93);
-    X_95 := algebra.leftfetchjoin(X_87,X_94);
-    X_97 := algebra.likesubselect(X_95,A10,"",false);
-    X_99 := sql.bind(X_13,"sys","supplier","s_suppkey",0);
-    (X_101,r1_115) := sql.bind(X_13,"sys","supplier","s_suppkey",2);
-    X_103 := sql.bind(X_13,"sys","supplier","s_suppkey",1);
-    X_104 := sql.delta(X_99,X_101,r1_115,X_103);
-    X_105:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_97,X_87,X_104);
-    (X_106,r1_121) := algebra.join(X_85,X_105);
-    X_108 := algebra.tdiff(X_86,X_106);
-    X_207 := algebra.leftfetchjoin(X_108,r1_83);
-    X_109:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_207,X_70,X_42);
-    X_110:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_207,X_70,X_51);
-    X_111:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_207,X_70,X_35);
-    X_112 := algebra.leftfetchjoin(X_108,X_85);
-    (X_113,r1_134,r2_134) := group.subgroup(X_112);
-    (X_116,r1_137,r2_137) := group.subgroup(X_111,X_113);
-    (X_119,r1_140,r2_140) := group.subgroup(X_110,X_116);
-    (X_122,r1_143,r2_143) := group.subgroupdone(X_109,X_119);
-    X_125 := algebra.leftfetchjoin(r1_143,X_109);
-    X_126 := algebra.leftfetchjoin(r1_143,X_110);
-    X_127 := algebra.leftfetchjoin(r1_143,X_111);
-    X_140 := algebra.leftfetchjoin(r1_143,X_112);
-    (X_128,r1_149,r2_149) := group.subgroup(X_127);
-    (X_131,r1_152,r2_152) := group.subgroup(X_126,X_128);
-    (X_134,r1_155,r2_155) := group.subgroupdone(X_125,X_131);
-    X_137 := algebra.leftfetchjoin(r1_155,X_127);
-    X_138 := algebra.leftfetchjoin(r1_155,X_125);
-    X_139 := algebra.leftfetchjoin(r1_155,X_126);
-    X_141:bat[:oid,:wrd]  := aggr.subcount(X_140,X_134,r1_155,true);
-    (X_143,r1_164,r2_164) := algebra.subsort(X_141,true,false);
-    (X_147,r1_168,r2_168) := algebra.subsort(X_139,r1_164,r2_164,false,false);
-    (X_150,r1_171,r2_171) := algebra.subsort(X_138,r1_168,r2_168,false,false);
-    (X_153,r1_174,r2_174) := algebra.subsort(X_137,r1_171,r2_171,false,false);
-    X_156 := algebra.leftfetchjoin(r1_174,X_139);
-    X_159 := algebra.leftfetchjoin(r1_174,X_141);
-    X_158 := algebra.leftfetchjoin(r1_174,X_137);
-    X_157 := algebra.leftfetchjoin(r1_174,X_138);
+    X_27 := bat.mirror(X_26);
+    X_28:bat[:oid,:oid]  := sql.tid(X_13,"sys","supplier");
+    X_30 := sql.bind(X_13,"sys","supplier","s_comment",0);
+    (X_32,r1_32) := sql.bind(X_13,"sys","supplier","s_comment",2);
+    X_34 := sql.bind(X_13,"sys","supplier","s_comment",1);
+    X_35 := sql.delta(X_30,X_32,r1_32,X_34);
+    X_36 := algebra.leftfetchjoin(X_28,X_35);
+    X_38 := algebra.likesubselect(X_36,A10,"",false);
+    X_40 := sql.bind(X_13,"sys","supplier","s_suppkey",0);
+    (X_42,r1_44) := sql.bind(X_13,"sys","supplier","s_suppkey",2);
+    X_44 := sql.bind(X_13,"sys","supplier","s_suppkey",1);
+    X_45 := sql.delta(X_40,X_42,r1_44,X_44);
+    X_46:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_38,X_28,X_45);
+    (X_47,r1_50) := algebra.join(X_26,X_46);
+    X_49 := algebra.tdiff(X_27,X_47);
+    X_50 := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",0);
+    (X_55,r1_58) := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",2);
+    X_58 := 
sql.bind_idxbat(X_13,"sys","partsupp","partsupp_ps_partkey_fkey",1);
+    X_60 := sql.delta(X_50,X_55,r1_58,X_58);
+    X_61:bat[:oid,:oid]  := algebra.leftfetchjoinPath(X_49,X_14,X_60);
+    X_62:bat[:oid,:oid]  := sql.tid(X_13,"sys","part");
+    X_64 := sql.bind(X_13,"sys","part","p_size",0);
+    (X_66,r1_70) := sql.bind(X_13,"sys","part","p_size",2);
+    X_68 := sql.bind(X_13,"sys","part","p_size",1);
+    X_69 := sql.delta(X_64,X_66,r1_70,X_68);
+    X_70 := algebra.leftfetchjoin(X_62,X_69);
+    X_71 := sql.bind(X_13,"sys","part","p_type",0);
+    (X_73,r1_78) := sql.bind(X_13,"sys","part","p_type",2);
+    X_75 := sql.bind(X_13,"sys","part","p_type",1);
+    X_76 := sql.delta(X_71,X_73,r1_78,X_75);
+    X_77 := algebra.leftfetchjoin(X_62,X_76);
+    X_79 := sql.bind(X_13,"sys","part","p_brand",0);
+    (X_82,r1_89) := sql.bind(X_13,"sys","part","p_brand",2);
+    X_84 := sql.bind(X_13,"sys","part","p_brand",1);
+    X_85 := sql.delta(X_79,X_82,r1_89,X_84);
+    X_86 := algebra.leftfetchjoin(X_62,X_85);
+    X_87 := algebra.subselect(X_86,A0,A0,true,true,true);
+    X_89 := algebra.likesubselect(X_77,X_87,A1,"",true);
+    X_90 := algebra.subselect(X_70,X_89,A2,A2,true,true,false);
+    X_92 := algebra.subselect(X_70,X_89,A3,A3,true,true,false);
+    X_93 := bat.mergecand(X_90,X_92);
+    X_94 := algebra.subselect(X_70,X_89,A4,A4,true,true,false);
+    X_95 := bat.mergecand(X_93,X_94);
+    X_96 := algebra.subselect(X_70,X_89,A5,A5,true,true,false);
+    X_97 := bat.mergecand(X_95,X_96);
+    X_98 := algebra.subselect(X_70,X_89,A6,A6,true,true,false);
+    X_99 := bat.mergecand(X_97,X_98);
+    X_100 := algebra.subselect(X_70,X_89,A7,A7,true,true,false);
+    X_101 := bat.mergecand(X_99,X_100);
+    X_102 := algebra.subselect(X_70,X_89,A8,A8,true,true,false);
+    X_103 := bat.mergecand(X_101,X_102);
+    X_104 := algebra.subselect(X_70,X_89,A9,A9,true,true,false);
+    X_105 := bat.mergecand(X_103,X_104);
+    X_106 := algebra.leftfetchjoin(X_105,X_62);
+    (X_107,r1_122) := algebra.join(X_61,X_106);
+    X_207 := algebra.leftfetchjoin(r1_122,X_105);
+    X_109:bat[:oid,:str]  := algebra.leftfetchjoin(X_207,X_77);
+    X_110:bat[:oid,:str]  := algebra.leftfetchjoin(X_207,X_86);
+    X_111:bat[:oid,:int]  := algebra.leftfetchjoin(X_207,X_70);
+    X_112:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_107,X_49,X_26);
+    (X_113,r1_132,r2_132) := group.subgroup(X_112);
+    (X_116,r1_135,r2_135) := group.subgroup(X_111,X_113);
+    (X_119,r1_138,r2_138) := group.subgroup(X_110,X_116);
+    (X_122,r1_141,r2_141) := group.subgroupdone(X_109,X_119);
+    X_125 := algebra.leftfetchjoin(r1_141,X_109);
+    X_126 := algebra.leftfetchjoin(r1_141,X_110);
+    X_127 := algebra.leftfetchjoin(r1_141,X_111);
+    X_140 := algebra.leftfetchjoin(r1_141,X_112);
+    (X_128,r1_147,r2_147) := group.subgroup(X_127);
+    (X_131,r1_150,r2_150) := group.subgroup(X_126,X_128);
+    (X_134,r1_153,r2_153) := group.subgroupdone(X_125,X_131);
+    X_137 := algebra.leftfetchjoin(r1_153,X_127);
+    X_138 := algebra.leftfetchjoin(r1_153,X_125);
+    X_139 := algebra.leftfetchjoin(r1_153,X_126);
+    X_141:bat[:oid,:wrd]  := aggr.subcount(X_140,X_134,r1_153,true);
+    (X_143,r1_162,r2_162) := algebra.subsort(X_141,true,false);
+    (X_147,r1_166,r2_166) := algebra.subsort(X_139,r1_162,r2_162,false,false);
+    (X_150,r1_169,r2_169) := algebra.subsort(X_138,r1_166,r2_166,false,false);
+    (X_153,r1_172,r2_172) := algebra.subsort(X_137,r1_169,r2_169,false,false);
+    X_156 := algebra.leftfetchjoin(r1_172,X_139);
+    X_159 := algebra.leftfetchjoin(r1_172,X_141);
+    X_158 := algebra.leftfetchjoin(r1_172,X_137);
+    X_157 := algebra.leftfetchjoin(r1_172,X_138);
     X_160 := sql.resultSet(4,1,X_156);
     sql.rsColumn(X_160,"sys.part","p_brand","varchar",10,0,X_156);
     sql.rsColumn(X_160,"sys.part","p_type","varchar",25,0,X_157);
diff --git a/sql/benchmarks/tpch/Tests/16-plan.stable.out 
b/sql/benchmarks/tpch/Tests/16-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/16-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/16-plan.stable.out
@@ -58,24 +58,24 @@ Ready.
 % .plan # table_name
 % rel # name
 % clob # type
-% 337 # length
+% 335 # length
 project (
 | group by (
 | | group by (
 | | | project (
-| | | | antijoin (
-| | | | | join (
+| | | | join (
+| | | | | antijoin (
 | | | | | | table(sys.partsupp) [ partsupp.ps_suppkey NOT NULL, 
partsupp.%partsupp_ps_partkey_fkey NOT NULL JOINIDX 
sys.partsupp.partsupp_ps_partkey_fkey ] COUNT ,
-| | | | | | select (
-| | | | | | | table(sys.part) [ part.p_brand NOT NULL, part.p_type NOT NULL, 
part.p_size NOT NULL, part.%TID% NOT NULL ] COUNT 
-| | | | | | ) [ part.p_brand NOT NULL != varchar(10)[char(8) "Brand#45"], 
char[part.p_type NOT NULL] ! FILTER like (char[char(16) "MEDIUM POLISHED%"], 
char ""), part.p_size NOT NULL in (int[tinyint "49"], int[tinyint "14"], 
int[tinyint "23"], int[tinyint "45"], int[tinyint "19"], int[tinyint "3"], 
int[tinyint "36"], int[tinyint "9"]) ]
-| | | | | ) [ partsupp.%partsupp_ps_partkey_fkey NOT NULL = part.%TID% NOT 
NULL JOINIDX sys.partsupp.partsupp_ps_partkey_fkey ],
-| | | | | project (
-| | | | | | select (
-| | | | | | | table(sys.supplier) [ supplier.s_suppkey NOT NULL HASHCOL , 
supplier.s_comment NOT NULL ] COUNT 
-| | | | | | ) [ char[supplier.s_comment NOT NULL] FILTER like (char[char(21) 
"%Customer%Complaints%"], char "") ]
-| | | | | ) [ supplier.s_suppkey NOT NULL HASHCOL  as L3.L2 ]
-| | | | ) [ partsupp.ps_suppkey NOT NULL = L3.L2 NOT NULL HASHCOL  ]
+| | | | | | project (
+| | | | | | | select (
+| | | | | | | | table(sys.supplier) [ supplier.s_suppkey NOT NULL HASHCOL , 
supplier.s_comment NOT NULL ] COUNT 
+| | | | | | | ) [ char[supplier.s_comment NOT NULL] FILTER like (char[char(21) 
"%Customer%Complaints%"], char "") ]
+| | | | | | ) [ supplier.s_suppkey NOT NULL HASHCOL  as L3.L2 ]
+| | | | | ) [ partsupp.ps_suppkey NOT NULL = L3.L2 NOT NULL HASHCOL  ],
+| | | | | select (
+| | | | | | table(sys.part) [ part.p_brand NOT NULL, part.p_type NOT NULL, 
part.p_size NOT NULL, part.%TID% NOT NULL ] COUNT 
+| | | | | ) [ part.p_brand NOT NULL != varchar(10)[char(8) "Brand#45"], 
char[part.p_type NOT NULL] ! FILTER like (char[char(16) "MEDIUM POLISHED%"], 
char ""), part.p_size NOT NULL in (int[tinyint "49"], int[tinyint "14"], 
int[tinyint "23"], int[tinyint "45"], int[tinyint "19"], int[tinyint "3"], 
int[tinyint "36"], int[tinyint "9"]) ]
+| | | | ) [ partsupp.%partsupp_ps_partkey_fkey NOT NULL = part.%TID% NOT NULL 
JOINIDX sys.partsupp.partsupp_ps_partkey_fkey ]
 | | | ) [ partsupp.ps_suppkey NOT NULL, part.p_brand NOT NULL, part.p_type NOT 
NULL, part.p_size NOT NULL ]
 | | ) [ partsupp.ps_suppkey NOT NULL as L5.L5, part.p_size NOT NULL, 
part.p_brand NOT NULL, part.p_type NOT NULL ] [ part.p_brand NOT NULL, 
part.p_type NOT NULL, part.p_size NOT NULL, L5.L5 NOT NULL ]
 | ) [ part.p_size NOT NULL, part.p_brand NOT NULL, part.p_type NOT NULL ] [ 
part.p_brand NOT NULL, part.p_type NOT NULL, part.p_size NOT NULL, sys.count no 
nil (L5.L5 NOT NULL) NOT NULL as L4.L4 ]
diff --git a/sql/benchmarks/tpch/Tests/18-explain.stable.out 
b/sql/benchmarks/tpch/Tests/18-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/18-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/18-explain.stable.out
@@ -66,105 +66,99 @@ Ready.
 function user.s2_1{autoCommit=true}(A0:lng):void;
     X_3 := sql.mvc();
     X_4:bat[:oid,:oid]  := sql.tid(X_3,"sys","orders");
-    X_7 := sql.bind_idxbat(X_3,"sys","orders","orders_o_custkey_fkey",0);
-    (X_10,r1_10) := 
sql.bind_idxbat(X_3,"sys","orders","orders_o_custkey_fkey",2);
-    X_13 := sql.bind_idxbat(X_3,"sys","orders","orders_o_custkey_fkey",1);
+    X_7 := sql.bind(X_3,"sys","orders","o_orderkey",0);
+    (X_10,r1_10) := sql.bind(X_3,"sys","orders","o_orderkey",2);
+    X_13 := sql.bind(X_3,"sys","orders","o_orderkey",1);
     X_15 := sql.delta(X_7,X_10,r1_10,X_13);
     X_16 := algebra.leftfetchjoin(X_4,X_15);
-    X_17:bat[:oid,:oid]  := sql.tid(X_3,"sys","customer");
-    (X_19,r1_19) := algebra.join(X_16,X_17);
-    X_21 := algebra.leftfetchjoin(X_19,X_4);
-    X_22:bat[:oid,:oid]  := sql.tid(X_3,"sys","lineitem");
-    X_24 := sql.bind_idxbat(X_3,"sys","lineitem","lineitem_l_orderkey_fkey",0);
-    (X_26,r1_26) := 
sql.bind_idxbat(X_3,"sys","lineitem","lineitem_l_orderkey_fkey",2);
-    X_28 := sql.bind_idxbat(X_3,"sys","lineitem","lineitem_l_orderkey_fkey",1);
-    X_29 := sql.delta(X_24,X_26,r1_26,X_28);
-    X_30 := algebra.leftfetchjoin(X_22,X_29);
-    (X_31,r1_31) := algebra.join(X_21,X_30);
-    X_33 := sql.bind(X_3,"sys","orders","o_orderkey",0);
-    (X_35,r1_35) := sql.bind(X_3,"sys","orders","o_orderkey",2);
-    X_37 := sql.bind(X_3,"sys","orders","o_orderkey",1);
-    X_40 := sql.delta(X_33,X_35,r1_35,X_37);
-    X_41 := algebra.leftfetchjoin(X_4,X_40);
-    X_42:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_31,X_19,X_41);
-    X_43 := bat.mirror(X_42);
-    X_44 := sql.bind(X_3,"sys","lineitem","l_quantity",0);
-    (X_47,r1_49) := sql.bind(X_3,"sys","lineitem","l_quantity",2);
-    X_50 := sql.bind(X_3,"sys","lineitem","l_quantity",1);
-    X_52 := sql.delta(X_44,X_47,r1_49,X_50);
-    X_53 := algebra.leftfetchjoin(X_22,X_52);
-    X_54 := sql.bind(X_3,"sys","lineitem","l_orderkey",0);
-    (X_57,r1_59) := sql.bind(X_3,"sys","lineitem","l_orderkey",2);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to