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

Reply via email to