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