Changeset: 76fc080964e8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=76fc080964e8
Modified Files:
sql/benchmarks/tpch/Tests/01-explain.stable.out
sql/benchmarks/tpch/Tests/12-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit
Branch: default
Log Message:
TPCH: changeset 63038f6a6091 enabled again de batcalc.dbl() also without HGE /
int128
approved MAL plans accordingly
diffs (truncated from 605 to 300 lines):
diff --git a/sql/benchmarks/tpch/Tests/01-explain.stable.out
b/sql/benchmarks/tpch/Tests/01-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/01-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/01-explain.stable.out
@@ -52,17 +52,17 @@ Ready.
% clob # type
% 622 # length
function user.s2_1{autoCommit=true}(A0:bte,A1:bte,A2:bte,A3:date,A4:lng):void;
- X_166:void := querylog.define("explain
select\n\tl_returnflag,\n\tl_linestatus,\n\tsum(l_quantity) as
sum_qty,\n\tsum(l_extendedprice) as sum_base_price,\n\tsum(l_extendedprice * (1
- l_discount)) as sum_disc_price,\n\tsum(l_extendedprice * (1 - l_discount) *
(1 + l_tax)) as sum_charge,\n\tavg(l_quantity) as
avg_qty,\n\tavg(l_extendedprice) as avg_price,\n\tavg(l_discount) as
avg_disc,\n\tcount(*) as count_order\nfrom\n\tlineitem\nwhere\n\tl_shipdate <=
date \\'1998-12-01\\' - interval \\'90\\' day (3)\ngroup
by\n\tl_returnflag,\n\tl_linestatus\norder
by\n\tl_returnflag,\n\tl_linestatus;","sequential_pipe",86);
+ X_164:void := querylog.define("explain
select\n\tl_returnflag,\n\tl_linestatus,\n\tsum(l_quantity) as
sum_qty,\n\tsum(l_extendedprice) as sum_base_price,\n\tsum(l_extendedprice * (1
- l_discount)) as sum_disc_price,\n\tsum(l_extendedprice * (1 - l_discount) *
(1 + l_tax)) as sum_charge,\n\tavg(l_quantity) as
avg_qty,\n\tavg(l_extendedprice) as avg_price,\n\tavg(l_discount) as
avg_disc,\n\tcount(*) as count_order\nfrom\n\tlineitem\nwhere\n\tl_shipdate <=
date \\'1998-12-01\\' - interval \\'90\\' day (3)\ngroup
by\n\tl_returnflag,\n\tl_linestatus\norder
by\n\tl_returnflag,\n\tl_linestatus;","sequential_pipe",85);
X_7 := sql.mvc();
X_11:bat[:oid,:date] := sql.bind(X_7,"sys","lineitem","l_shipdate",0);
X_8:bat[:oid,:oid] := sql.tid(X_7,"sys","lineitem");
X_19 := mtime.date_sub_msec_interval(A3,A4);
- X_184 := algebra.thetasubselect(X_11,X_8,X_19,"<=");
+ X_183 := algebra.thetasubselect(X_11,X_8,X_19,"<=");
(X_14,r1_14) := sql.bind(X_7,"sys","lineitem","l_shipdate",2);
- X_186 := algebra.thetasubselect(r1_14,nil:bat[:oid,:oid],X_19,"<=");
+ X_184 := algebra.thetasubselect(r1_14,nil:bat[:oid,:oid],X_19,"<=");
X_17:bat[:oid,:date] := sql.bind(X_7,"sys","lineitem","l_shipdate",1);
- X_188 := algebra.thetasubselect(X_17,X_8,X_19,"<=");
- X_20 := sql.subdelta(X_185,X_8,X_14,X_186,X_188);
+ X_186 := algebra.thetasubselect(X_17,X_8,X_19,"<=");
+ X_20 := sql.subdelta(X_183,X_8,X_14,X_184,X_186);
X_22:bat[:oid,:str] := sql.bind(X_7,"sys","lineitem","l_linestatus",0);
(X_24,r1_28) := sql.bind(X_7,"sys","lineitem","l_linestatus",2);
X_26:bat[:oid,:str] := sql.bind(X_7,"sys","lineitem","l_linestatus",1);
@@ -104,38 +104,37 @@ function user.s2_1{autoCommit=true}(A0:b
X_100:bat[:oid,:lng] := batcalc.+(X_91,X_99);
X_101:bat[:oid,:lng] := batcalc.*(X_90,X_100);
X_102:bat[:oid,:lng] := aggr.subsum(X_101,X_37,r1_45,true,true);
- X_105 := batcalc.dbl(X_61);
- X_106:bat[:oid,:dbl] := aggr.subavg(X_105,X_37,r1_45,true,true);
- X_108:bat[:oid,:dbl] := batcalc.dbl(2,X_70);
- X_109:bat[:oid,:dbl] := aggr.subavg(X_108,X_37,r1_45,true,true);
- X_111:bat[:oid,:dbl] := batcalc.dbl(2,X_82);
- X_112:bat[:oid,:dbl] := aggr.subavg(X_111,X_37,r1_45,true,true);
- X_114:bat[:oid,:wrd] := aggr.subcount(X_37,X_37,r1_45,false);
+ X_105:bat[:oid,:dbl] := aggr.subavg(X_61,X_37,r1_45,true,true);
+ X_107:bat[:oid,:dbl] := batcalc.dbl(2,X_70);
+ X_108:bat[:oid,:dbl] := aggr.subavg(X_107,X_37,r1_45,true,true);
+ X_110:bat[:oid,:dbl] := batcalc.dbl(2,X_82);
+ X_111:bat[:oid,:dbl] := aggr.subavg(X_110,X_37,r1_45,true,true);
+ X_113:bat[:oid,:wrd] := aggr.subcount(X_37,X_37,r1_45,false);
(X_42,r1_50,r2_50) := algebra.subsort(X_41,false,false);
(X_46,r1_54,r2_54) := algebra.subsort(X_40,r1_50,r2_50,false,false);
X_49 := algebra.leftfetchjoin(r1_54,X_41);
- X_116 := algebra.leftfetchjoin(r1_54,X_114);
- X_113 := algebra.leftfetchjoin(r1_54,X_112);
- X_110 := algebra.leftfetchjoin(r1_54,X_109);
- X_107 := algebra.leftfetchjoin(r1_54,X_106);
+ X_115 := algebra.leftfetchjoin(r1_54,X_113);
+ X_112 := algebra.leftfetchjoin(r1_54,X_111);
+ X_109 := algebra.leftfetchjoin(r1_54,X_108);
+ X_106 := algebra.leftfetchjoin(r1_54,X_105);
X_104 := algebra.leftfetchjoin(r1_54,X_102);
X_86 := algebra.leftfetchjoin(r1_54,X_85);
X_72 := algebra.leftfetchjoin(r1_54,X_71);
X_64 := algebra.leftfetchjoin(r1_54,X_62);
X_50 := algebra.leftfetchjoin(r1_54,X_40);
- X_117 := sql.resultSet(10,1,X_49);
- sql.rsColumn(X_117,"sys.lineitem","l_returnflag","varchar",1,0,X_49);
- sql.rsColumn(X_117,"sys.lineitem","l_linestatus","varchar",1,0,X_50);
- sql.rsColumn(X_117,"sys.L1","sum_qty","bigint",64,0,X_64);
- sql.rsColumn(X_117,"sys.L2","sum_base_price","decimal",15,2,X_72);
- sql.rsColumn(X_117,"sys.L3","sum_disc_price","decimal",19,4,X_86);
- sql.rsColumn(X_117,"sys.L4","sum_charge","decimal",19,6,X_104);
- sql.rsColumn(X_117,"sys.L5","avg_qty","double",53,0,X_107);
- sql.rsColumn(X_117,"sys.L6","avg_price","double",53,0,X_110);
- sql.rsColumn(X_117,"sys.L7","avg_disc","double",53,0,X_113);
- sql.rsColumn(X_117,"sys.L10","count_order","wrd",64,0,X_116);
- X_164 := io.stdout();
- sql.exportResult(X_164,X_117);
+ X_116 := sql.resultSet(10,1,X_49);
+ sql.rsColumn(X_116,"sys.lineitem","l_returnflag","varchar",1,0,X_49);
+ sql.rsColumn(X_116,"sys.lineitem","l_linestatus","varchar",1,0,X_50);
+ sql.rsColumn(X_116,"sys.L1","sum_qty","bigint",64,0,X_64);
+ sql.rsColumn(X_116,"sys.L2","sum_base_price","decimal",15,2,X_72);
+ sql.rsColumn(X_116,"sys.L3","sum_disc_price","decimal",19,4,X_86);
+ sql.rsColumn(X_116,"sys.L4","sum_charge","decimal",19,6,X_104);
+ sql.rsColumn(X_116,"sys.L5","avg_qty","double",53,0,X_106);
+ sql.rsColumn(X_116,"sys.L6","avg_price","double",53,0,X_109);
+ sql.rsColumn(X_116,"sys.L7","avg_disc","double",53,0,X_112);
+ sql.rsColumn(X_116,"sys.L10","count_order","wrd",64,0,X_115);
+ X_162 := io.stdout();
+ sql.exportResult(X_162,X_116);
end user.s2_1;
# 22:53:25 >
diff --git a/sql/benchmarks/tpch/Tests/12-explain.stable.out
b/sql/benchmarks/tpch/Tests/12-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/12-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/12-explain.stable.out
@@ -129,8 +129,8 @@ function user.s2_1{autoCommit=true}(A0:s
X_103 := algebra.leftfetchjoin(r1_94,X_101);
X_113 := sql.resultSet(3,1,X_86);
sql.rsColumn(X_113,"sys.lineitem","l_shipmode","varchar",10,0,X_86);
- sql.rsColumn(X_113,"sys.L1","high_line_count","bigint",8,0,X_103);
- sql.rsColumn(X_113,"sys.L2","low_line_count","bigint",8,0,X_112);
+ sql.rsColumn(X_113,"sys.L1","high_line_count","bigint",64,0,X_103);
+ sql.rsColumn(X_113,"sys.L2","low_line_count","bigint",64,0,X_112);
X_130 := io.stdout();
sql.exportResult(X_130,X_113);
end user.s2_1;
diff --git a/sql/benchmarks/tpch/Tests/17-explain.stable.out
b/sql/benchmarks/tpch/Tests/17-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/17-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/17-explain.stable.out
@@ -48,7 +48,7 @@ Ready.
% clob # type
% 378 # length
function user.s2_1{autoCommit=true}(A0:bte,A1:str,A2:str,A3:dbl):void;
- X_118:void := querylog.define("explain select\n\tsum(l_extendedprice) /
7.0 as avg_yearly\nfrom\n\tlineitem,\n\tpart\nwhere\n\tp_partkey =
l_partkey\n\tand p_brand = \\'Brand#23\\'\n\tand p_container = \\'MED
BOX\\'\n\tand l_quantity < (\n\t\tselect\n\t\t\t0.2 *
avg(l_quantity)\n\t\tfrom\n\t\t\tlineitem\n\t\twhere\n\t\t\tl_partkey =
p_partkey\n\t);","sequential_pipe",67);
+ X_117:void := querylog.define("explain select\n\tsum(l_extendedprice) /
7.0 as avg_yearly\nfrom\n\tlineitem,\n\tpart\nwhere\n\tp_partkey =
l_partkey\n\tand p_brand = \\'Brand#23\\'\n\tand p_container = \\'MED
BOX\\'\n\tand l_quantity < (\n\t\tselect\n\t\t\t0.2 *
avg(l_quantity)\n\t\tfrom\n\t\t\tlineitem\n\t\twhere\n\t\t\tl_partkey =
p_partkey\n\t);","sequential_pipe",66);
X_6 := sql.mvc();
X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","lineitem");
X_10:bat[:oid,:int] := sql.bind(X_6,"sys","lineitem","l_partkey",0);
@@ -62,18 +62,18 @@ function user.s2_1{autoCommit=true}(A0:b
X_27:bat[:oid,:str] := sql.bind(X_6,"sys","part","p_container",0);
X_32:bat[:oid,:str] := sql.bind(X_6,"sys","part","p_brand",0);
X_25:bat[:oid,:oid] := sql.tid(X_6,"sys","part");
- X_141 := algebra.subselect(X_32,X_25,A1,A1,true,true,false);
+ X_140 := algebra.subselect(X_32,X_25,A1,A1,true,true,false);
(X_34,r1_40) := sql.bind(X_6,"sys","part","p_brand",2);
- X_142 := algebra.subselect(r1_40,nil:bat[:oid,:oid],A1,A1,true,true,false);
+ X_141 := algebra.subselect(r1_40,nil:bat[:oid,:oid],A1,A1,true,true,false);
X_37:bat[:oid,:str] := sql.bind(X_6,"sys","part","p_brand",1);
- X_144 := algebra.subselect(X_37,X_25,A1,A1,true,true,false);
- X_38 := sql.subdelta(X_141,X_25,X_34,X_142,X_144);
- X_145 := algebra.subselect(X_27,X_38,A2,A2,true,true,false);
+ X_143 := algebra.subselect(X_37,X_25,A1,A1,true,true,false);
+ X_38 := sql.subdelta(X_140,X_25,X_34,X_141,X_143);
+ X_144 := algebra.subselect(X_27,X_38,A2,A2,true,true,false);
(X_29,r1_32) := sql.bind(X_6,"sys","part","p_container",2);
- X_146 := algebra.subselect(r1_32,nil:bat[:oid,:oid],A2,A2,true,true,false);
+ X_145 := algebra.subselect(r1_32,nil:bat[:oid,:oid],A2,A2,true,true,false);
X_31:bat[:oid,:str] := sql.bind(X_6,"sys","part","p_container",1);
- X_148 := algebra.subselect(X_31,X_38,A2,A2,true,true,false);
- X_41 := sql.subdelta(X_145,X_38,X_29,X_146,X_148);
+ X_147 := algebra.subselect(X_31,X_38,A2,A2,true,true,false);
+ X_41 := sql.subdelta(X_144,X_38,X_29,X_145,X_147);
X_42 := X_41;
(X_43,r1_52) := algebra.subjoin(X_24,X_42,nil:BAT,nil:BAT,false,nil:lng);
X_47:bat[:oid,:int] := sql.bind(X_6,"sys","part","p_partkey",0);
@@ -90,29 +90,28 @@ function user.s2_1{autoCommit=true}(A0:b
X_69:bat[:oid,:oid] := batcalc.identity(X_68);
X_70 := algebra.leftfetchjoin(r1_69,X_69);
(X_71,r1_85,r2_85) := group.subgroupdone(X_70);
- X_149 := algebra.leftfetchjoin(r1_85,r1_69);
+ X_148 := algebra.leftfetchjoin(r1_85,r1_69);
X_74:bat[:oid,:int] := sql.bind(X_6,"sys","lineitem","l_quantity",0);
(X_76,r1_90) := sql.bind(X_6,"sys","lineitem","l_quantity",2);
X_78:bat[:oid,:int] := sql.bind(X_6,"sys","lineitem","l_quantity",1);
X_79 := sql.projectdelta(X_7,X_74,X_76,r1_90,X_78);
X_86 := algebra.leftfetchjoin(X_58,X_79);
- X_87 := batcalc.dbl(X_86);
- X_88:bat[:oid,:dbl] := aggr.subavg(X_87,X_71,r1_85,true,true);
- X_80:bat[:oid,:int] := algebra.leftfetchjoinPath(X_149,X_43,X_79);
+ X_87:bat[:oid,:dbl] := aggr.subavg(X_86,X_71,r1_85,true,true);
+ X_80:bat[:oid,:int] := algebra.leftfetchjoinPath(X_148,X_43,X_79);
X_81 := batcalc.dbl(X_80);
- X_90:bat[:oid,:dbl] := batcalc.*(A3,X_88);
- X_91:bat[:oid,:bit] := batcalc.<(X_81,X_90);
- X_92 := algebra.subselect(X_91,true,true,true,true,false);
- X_94:bat[:oid,:lng] := sql.bind(X_6,"sys","lineitem","l_extendedprice",0);
- (X_97,r1_124) := sql.bind(X_6,"sys","lineitem","l_extendedprice",2);
- X_99:bat[:oid,:lng] := sql.bind(X_6,"sys","lineitem","l_extendedprice",1);
- X_100 := sql.projectdelta(X_7,X_94,X_97,r1_124,X_99);
- X_101:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_92,X_149,X_43,X_100);
- X_102:lng := aggr.sum(X_101);
- X_103 := calc.lng(2,X_102,18,5);
- X_106 := calc.lng(1,A0,15,2);
- X_109 := calc./(X_103,X_106);
- sql.exportValue(1,"sys.L3","avg_yearly","decimal",18,3,10,X_109,"");
+ X_89:bat[:oid,:dbl] := batcalc.*(A3,X_87);
+ X_90:bat[:oid,:bit] := batcalc.<(X_81,X_89);
+ X_91 := algebra.subselect(X_90,true,true,true,true,false);
+ X_93:bat[:oid,:lng] := sql.bind(X_6,"sys","lineitem","l_extendedprice",0);
+ (X_96,r1_124) := sql.bind(X_6,"sys","lineitem","l_extendedprice",2);
+ X_98:bat[:oid,:lng] := sql.bind(X_6,"sys","lineitem","l_extendedprice",1);
+ X_99 := sql.projectdelta(X_7,X_93,X_96,r1_124,X_98);
+ X_100:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_91,X_148,X_43,X_99);
+ X_101:lng := aggr.sum(X_100);
+ X_102 := calc.lng(2,X_101,18,5);
+ X_105 := calc.lng(1,A0,15,2);
+ X_108 := calc./(X_102,X_105);
+ sql.exportValue(1,"sys.L3","avg_yearly","decimal",18,3,10,X_108,"");
end user.s2_1;
# 22:53:29 >
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
@@ -64,7 +64,7 @@ Ready.
% clob # type
% 566 # length
function user.s2_1{autoCommit=true}(A0:lng):void;
- X_201:void := querylog.define("explain
select\n\tc_name,\n\tc_custkey,\n\to_orderkey,\n\to_orderdate,\n\to_totalprice,\n\tsum(l_quantity)\nfrom\n\tcustomer,\n\torders,\n\tlineitem\nwhere\n\to_orderkey
in (\n\t\tselect\n\t\t\tl_orderkey\n\t\tfrom\n\t\t\tlineitem\n\t\tgroup
by\n\t\t\tl_orderkey having\n\t\t\t\tsum(l_quantity) > 300\n\t)\n\tand
c_custkey = o_custkey\n\tand o_orderkey = l_orderkey\ngroup
by\n\tc_name,\n\tc_custkey,\n\to_orderkey,\n\to_orderdate,\n\to_totalprice\norder
by\n\to_totalprice desc,\n\to_orderdate\nlimit 100;","sequential_pipe",104);
+ X_202:void := querylog.define("explain
select\n\tc_name,\n\tc_custkey,\n\to_orderkey,\n\to_orderdate,\n\to_totalprice,\n\tsum(l_quantity)\nfrom\n\tcustomer,\n\torders,\n\tlineitem\nwhere\n\to_orderkey
in (\n\t\tselect\n\t\t\tl_orderkey\n\t\tfrom\n\t\t\tlineitem\n\t\tgroup
by\n\t\t\tl_orderkey having\n\t\t\t\tsum(l_quantity) > 300\n\t)\n\tand
c_custkey = o_custkey\n\tand o_orderkey = l_orderkey\ngroup
by\n\tc_name,\n\tc_custkey,\n\to_orderkey,\n\to_orderdate,\n\to_totalprice\norder
by\n\to_totalprice desc,\n\to_orderdate\nlimit 100;","sequential_pipe",104);
X_3 := sql.mvc();
X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","orders");
X_7:bat[:oid,:int] := sql.bind(X_3,"sys","orders","o_orderkey",0);
@@ -112,12 +112,12 @@ function user.s2_1{autoCommit=true}(A0:l
X_86 := algebra.leftfetchjoin(r1_96,X_78);
(X_90,r1_110) := algebra.subjoin(X_86,X_77,nil:BAT,nil:BAT,false,nil:lng);
X_95:bat[:oid,:int] := algebra.leftfetchjoinPath(X_90,r1_96,X_79);
- X_233 := algebra.leftfetchjoin(r1_63,X_18);
+ X_234 := algebra.leftfetchjoin(r1_63,X_18);
X_157:bat[:oid,:int] := sql.bind(X_3,"sys","lineitem","l_quantity",0);
(X_162,r1_210) := sql.bind(X_3,"sys","lineitem","l_quantity",2);
X_165:bat[:oid,:int] := sql.bind(X_3,"sys","lineitem","l_quantity",1);
X_167 := sql.delta(X_157,X_162,r1_210,X_165);
- X_168:bat[:oid,:int] := algebra.leftfetchjoinPath(X_65,X_233,X_167);
+ X_168:bat[:oid,:int] := algebra.leftfetchjoinPath(X_65,X_234,X_167);
X_169:bat[:oid,:lng] := aggr.subsum(X_168,X_83,r1_96,true,true);
X_96:bat[:oid,:oid] := sql.tid(X_3,"sys","orders");
X_98:bat[:oid,:int] := sql.bind(X_3,"sys","orders","o_orderkey",0);
@@ -126,46 +126,46 @@ function user.s2_1{autoCommit=true}(A0:l
X_104 := sql.delta(X_98,X_101,r1_122,X_103);
X_105 := algebra.leftfetchjoin(X_96,X_104);
(X_106,r1_127) :=
algebra.subjoin(X_95,X_105,nil:BAT,nil:BAT,false,nil:lng);
- X_230 := algebra.leftfetchjoin(r1_127,X_96);
+ X_231 := algebra.leftfetchjoin(r1_127,X_96);
X_108:bat[:oid,:date] := sql.bind(X_3,"sys","orders","o_orderdate",0);
(X_110,r1_131) := sql.bind(X_3,"sys","orders","o_orderdate",2);
X_112:bat[:oid,:date] := sql.bind(X_3,"sys","orders","o_orderdate",1);
X_113 := sql.delta(X_108,X_110,r1_131,X_112);
- X_114:bat[:oid,:date] := algebra.leftfetchjoin(X_230,X_113);
+ X_114:bat[:oid,:date] := algebra.leftfetchjoin(X_231,X_113);
X_115:bat[:oid,:lng] := sql.bind(X_3,"sys","orders","o_totalprice",0);
(X_118,r1_140) := sql.bind(X_3,"sys","orders","o_totalprice",2);
X_121:bat[:oid,:lng] := sql.bind(X_3,"sys","orders","o_totalprice",1);
X_123 := sql.delta(X_115,X_118,r1_140,X_121);
- X_124:bat[:oid,:lng] := algebra.leftfetchjoin(X_230,X_123);
+ X_124:bat[:oid,:lng] := algebra.leftfetchjoin(X_231,X_123);
(X_125,r1_153) := algebra.firstn(X_124,100:wrd,false,false);
X_128 := algebra.firstn(X_114,X_125,r1_153,100:wrd,true,false);
X_130 := algebra.leftfetchjoin(X_128,X_114);
X_131 := algebra.leftfetchjoin(X_128,X_124);
(X_132,r1_162,r2_162) := algebra.subsort(X_131,true,false);
(X_135,r1_165,r2_165) := algebra.subsort(X_130,r1_162,r2_162,false,false);
- X_231 := algebra.leftfetchjoin(r1_165,X_128);
+ X_232 := algebra.leftfetchjoin(r1_165,X_128);
X_138:bat[:oid,:str] := sql.bind(X_3,"sys","customer","c_name",0);
(X_143,r1_173) := sql.bind(X_3,"sys","customer","c_name",2);
X_146:bat[:oid,:str] := sql.bind(X_3,"sys","customer","c_name",1);
X_148 := sql.delta(X_138,X_143,r1_173,X_146);
- X_149:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_231,X_106,r1_110,X_63,X_148);
+ X_149:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_232,X_106,r1_110,X_63,X_148);
X_151 := algebra.subslice(X_149,0,99:wrd);
X_152 := algebra.leftfetchjoin(X_151,X_149);
- X_232 := algebra.leftfetchjoin(X_151,r1_165);
- X_171:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_232,X_128,X_106,X_90,X_169);
- X_156:bat[:oid,:lng] := algebra.leftfetchjoin(X_232,X_131);
- X_155:bat[:oid,:date] := algebra.leftfetchjoin(X_232,X_130);
- X_154:bat[:oid,:int] := algebra.leftfetchjoinPath(X_232,X_128,X_106,X_95);
- X_153:bat[:oid,:int] :=
algebra.leftfetchjoinPath(X_232,X_128,X_106,X_90,X_86);
+ X_233 := algebra.leftfetchjoin(X_151,r1_165);
+ X_171:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_233,X_128,X_106,X_90,X_169);
+ X_156:bat[:oid,:lng] := algebra.leftfetchjoin(X_233,X_131);
+ X_155:bat[:oid,:date] := algebra.leftfetchjoin(X_233,X_130);
+ X_154:bat[:oid,:int] := algebra.leftfetchjoinPath(X_233,X_128,X_106,X_95);
+ X_153:bat[:oid,:int] :=
algebra.leftfetchjoinPath(X_233,X_128,X_106,X_90,X_86);
X_172 := sql.resultSet(6,1,X_152);
sql.rsColumn(X_172,"sys.customer","c_name","varchar",25,0,X_152);
sql.rsColumn(X_172,"sys.customer","c_custkey","int",32,0,X_153);
sql.rsColumn(X_172,"sys.orders","o_orderkey","int",32,0,X_154);
sql.rsColumn(X_172,"sys.orders","o_orderdate","date",0,0,X_155);
sql.rsColumn(X_172,"sys.orders","o_totalprice","decimal",15,2,X_156);
- sql.rsColumn(X_172,"sys.L6","L6","bigint",32,0,X_171);
- X_199 := io.stdout();
- sql.exportResult(X_199,X_172);
+ sql.rsColumn(X_172,"sys.L6","L6","bigint",64,0,X_171);
+ X_200 := io.stdout();
+ sql.exportResult(X_200,X_172);
end user.s2_1;
# 22:53:30 >
diff --git a/sql/benchmarks/tpch/Tests/20-explain.stable.out
b/sql/benchmarks/tpch/Tests/20-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/20-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/20-explain.stable.out
@@ -65,7 +65,7 @@ Ready.
% clob # type
% 789 # length
function
user.s2_1{autoCommit=true}(A0:str,A1:bte,A2:date,A3:date,A4:int,A5:str):void;
- X_242:void := querylog.define("explain
select\n\ts_name,\n\ts_address\nfrom\n\tsupplier,\n\tnation\nwhere\n\ts_suppkey
in
(\n\t\tselect\n\t\t\tps_suppkey\n\t\tfrom\n\t\t\tpartsupp\n\t\twhere\n\t\t\tps_partkey
in
(\n\t\t\t\tselect\n\t\t\t\t\tp_partkey\n\t\t\t\tfrom\n\t\t\t\t\tpart\n\t\t\t\twhere\n\t\t\t\t\tp_name
like \\'forest%\\'\n\t\t\t)\n\t\t\tand ps_availqty >
(\n\t\t\t\tselect\n\t\t\t\t\t0.5 *
sum(l_quantity)\n\t\t\t\tfrom\n\t\t\t\t\tlineitem\n\t\t\t\twhere\n\t\t\t\t\tl_partkey
= ps_partkey\n\t\t\t\t\tand l_suppkey = ps_suppkey\n\t\t\t\t\tand l_shipdate
>= date \\'1994-01-01\\'\n\t\t\t\t\tand l_shipdate < date \\'1994-01-01\\' +
interval \\'1\\' year\n\t\t\t)\n\t)\n\tand s_nationkey = n_nationkey\n\tand
n_name = \\'CANADA\\'\norder by\n\ts_name;","sequential_pipe",138);
+ X_241:void := querylog.define("explain
select\n\ts_name,\n\ts_address\nfrom\n\tsupplier,\n\tnation\nwhere\n\ts_suppkey
in
(\n\t\tselect\n\t\t\tps_suppkey\n\t\tfrom\n\t\t\tpartsupp\n\t\twhere\n\t\t\tps_partkey
in
(\n\t\t\t\tselect\n\t\t\t\t\tp_partkey\n\t\t\t\tfrom\n\t\t\t\t\tpart\n\t\t\t\twhere\n\t\t\t\t\tp_name
like \\'forest%\\'\n\t\t\t)\n\t\t\tand ps_availqty >
(\n\t\t\t\tselect\n\t\t\t\t\t0.5 *
sum(l_quantity)\n\t\t\t\tfrom\n\t\t\t\t\tlineitem\n\t\t\t\twhere\n\t\t\t\t\tl_partkey
= ps_partkey\n\t\t\t\t\tand l_suppkey = ps_suppkey\n\t\t\t\t\tand l_shipdate
>= date \\'1994-01-01\\'\n\t\t\t\t\tand l_shipdate < date \\'1994-01-01\\' +
interval \\'1\\' year\n\t\t\t)\n\t)\n\tand s_nationkey = n_nationkey\n\tand
n_name = \\'CANADA\\'\norder by\n\ts_name;","sequential_pipe",138);
X_8 := sql.mvc();
X_9:bat[:oid,:oid] := sql.tid(X_8,"sys","supplier");
X_12:bat[:oid,:int] := sql.bind(X_8,"sys","supplier","s_suppkey",0);
@@ -95,12 +95,12 @@ function user.s2_1{autoCommit=true}(A0:s
X_56:bat[:oid,:int] := algebra.leftfetchjoinPath(X_43,X_33,X_55);
(X_57,r1_60) := algebra.subjoin(X_31,X_56,nil:BAT,nil:BAT,false,nil:lng);
X_60 := algebra.tinter(X_32,X_57);
- X_282 := algebra.leftfetchjoin(X_60,X_23);
+ X_281 := algebra.leftfetchjoin(X_60,X_23);
X_61:bat[:oid,:wrd] :=
sql.bind_idxbat(X_8,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",0);
(X_64,r1_67) :=
sql.bind_idxbat(X_8,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",2);
X_66:bat[:oid,:wrd] :=
sql.bind_idxbat(X_8,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",1);
X_67 := sql.delta(X_61,X_64,r1_67,X_66);
- X_68:bat[:oid,:wrd] := algebra.leftfetchjoin(X_282,X_67);
+ X_68:bat[:oid,:wrd] := algebra.leftfetchjoin(X_281,X_67);
X_69:bat[:oid,:oid] := sql.tid(X_8,"sys","lineitem");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list