Changeset: 28f7adc791a5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=28f7adc791a5
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
Branch: Jul2015
Log Message:

merged


diffs (truncated from 1093 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -142,32 +142,18 @@ pattern aggr.avg(b:bat[:oid,:any_2]):dbl
 address CMDcalcavg;
 comment Gives the avg of all tail values
 
-function 
aggr.corr(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:dbl];
-function 
aggr.covar(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:dbl];
 function aggr.corr(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl]):dbl;
 function aggr.covar(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl]):dbl;
-function 
aggr.corr(e1:bat[:oid,:flt],e2:bat[:oid,:flt],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:flt];
-function 
aggr.covar(e1:bat[:oid,:flt],e2:bat[:oid,:flt],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:flt];
 function aggr.corr(e1:bat[:oid,:flt],e2:bat[:oid,:flt]):flt;
 function aggr.covar(e1:bat[:oid,:flt],e2:bat[:oid,:flt]):flt;
-function 
aggr.corr(e1:bat[:oid,:lng],e2:bat[:oid,:lng],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:lng];
-function 
aggr.covar(e1:bat[:oid,:lng],e2:bat[:oid,:lng],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:lng];
 function aggr.corr(e1:bat[:oid,:lng],e2:bat[:oid,:lng]):lng;
 function aggr.covar(e1:bat[:oid,:lng],e2:bat[:oid,:lng]):lng;
-function 
aggr.corr(e1:bat[:oid,:wrd],e2:bat[:oid,:wrd],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:wrd];
-function 
aggr.covar(e1:bat[:oid,:wrd],e2:bat[:oid,:wrd],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:wrd];
 function aggr.corr(e1:bat[:oid,:wrd],e2:bat[:oid,:wrd]):wrd;
 function aggr.covar(e1:bat[:oid,:wrd],e2:bat[:oid,:wrd]):wrd;
-function 
aggr.corr(e1:bat[:oid,:int],e2:bat[:oid,:int],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:int];
-function 
aggr.covar(e1:bat[:oid,:int],e2:bat[:oid,:int],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:int];
 function aggr.corr(e1:bat[:oid,:int],e2:bat[:oid,:int]):int;
 function aggr.covar(e1:bat[:oid,:int],e2:bat[:oid,:int]):int;
-function 
aggr.corr(e1:bat[:oid,:sht],e2:bat[:oid,:sht],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:sht];
-function 
aggr.covar(e1:bat[:oid,:sht],e2:bat[:oid,:sht],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:sht];
 function aggr.corr(e1:bat[:oid,:sht],e2:bat[:oid,:sht]):sht;
 function aggr.covar(e1:bat[:oid,:sht],e2:bat[:oid,:sht]):sht;
-function 
aggr.corr(e1:bat[:oid,:bte],e2:bat[:oid,:bte],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:bte];
-function 
aggr.covar(e1:bat[:oid,:bte],e2:bat[:oid,:bte],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:bte];
 function aggr.corr(e1:bat[:oid,:bte],e2:bat[:oid,:bte]):bte;
 function aggr.covar(e1:bat[:oid,:bte],e2:bat[:oid,:bte]):bte;
 command 
aggr.count_no_nil(b:bat[:oid,:any_1],g:bat[:oid,:oid],e:bat[:oid,:any_2]):bat[:oid,:wrd]
 
@@ -754,8 +740,6 @@ command aggr.quantile(b:bat[:oid,:any_1]
 address AGGRquantile3;
 comment Grouped quantile aggregate
 
-function 
aggr.subcorr(e1:bat[:oid,:hge],e2:bat[:oid,:hge],g:bat[:oid,:oid],e:bat[:oid,:any_2],f:bit):bat[:oid,:hge];
-function 
aggr.subcovar(e1:bat[:oid,:hge],e2:bat[:oid,:hge],g:bat[:oid,:oid],e:bat[:oid,:any_2],f:bit):bat[:oid,:hge];
 function 
aggr.subcorr(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_2],f:bit):bat[:oid,:dbl];
 function 
aggr.subcovar(e1:bat[:oid,:dbl],e2:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_2],f:bit):bat[:oid,:dbl];
 function 
aggr.subcorr(e1:bat[:oid,:flt],e2:bat[:oid,:flt],g:bat[:oid,:oid],e:bat[:oid,:any_2],f:bit):bat[:oid,:flt];
diff --git a/sql/benchmarks/tpch/Tests/05-explain.stable.out 
b/sql/benchmarks/tpch/Tests/05-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/05-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/05-explain.stable.out
@@ -55,32 +55,32 @@ Ready.
 % clob # type
 % 592 # length
 function user.s2_1{autoCommit=true}(A0:bte,A1:str,A2:date,A3:date,A4:int):void;
-    X_218:void := querylog.define("explain 
select\n\tn_name,\n\tsum(l_extendedprice * (1 - l_discount)) as 
revenue\nfrom\n\tcustomer,\n\torders,\n\tlineitem,\n\tsupplier,\n\tnation,\n\tregion\nwhere\n\tc_custkey
 = o_custkey\n\tand l_orderkey = o_orderkey\n\tand l_suppkey = s_suppkey\n\tand 
c_nationkey = s_nationkey\n\tand s_nationkey = n_nationkey\n\tand n_regionkey = 
r_regionkey\n\tand r_name = \\'ASIA\\'\n\tand o_orderdate >= date 
\\'1994-01-01\\'\n\tand o_orderdate < date \\'1994-01-01\\' + interval \\'1\\' 
year\ngroup by\n\tn_name\norder by\n\trevenue desc;","sequential_pipe",123);
-    X_190 := bat.new(nil:oid,nil:str);
-    X_198 := bat.append(X_190,"sys.nation");
-    X_208 := bat.append(X_198,"sys.L1");
-    X_193 := bat.new(nil:oid,nil:str);
-    X_200 := bat.append(X_193,"n_name");
-    X_210 := bat.append(X_200,"revenue");
-    X_194 := bat.new(nil:oid,nil:str);
-    X_202 := bat.append(X_194,"char");
-    X_212 := bat.append(X_202,"decimal");
-    X_195 := bat.new(nil:oid,nil:int);
-    X_204 := bat.append(X_195,25);
-    X_214 := bat.append(X_204,19);
+    X_220:void := querylog.define("explain 
select\n\tn_name,\n\tsum(l_extendedprice * (1 - l_discount)) as 
revenue\nfrom\n\tcustomer,\n\torders,\n\tlineitem,\n\tsupplier,\n\tnation,\n\tregion\nwhere\n\tc_custkey
 = o_custkey\n\tand l_orderkey = o_orderkey\n\tand l_suppkey = s_suppkey\n\tand 
c_nationkey = s_nationkey\n\tand s_nationkey = n_nationkey\n\tand n_regionkey = 
r_regionkey\n\tand r_name = \\'ASIA\\'\n\tand o_orderdate >= date 
\\'1994-01-01\\'\n\tand o_orderdate < date \\'1994-01-01\\' + interval \\'1\\' 
year\ngroup by\n\tn_name\norder by\n\trevenue desc;","sequential_pipe",125);
+    X_192 := bat.new(nil:oid,nil:str);
+    X_200 := bat.append(X_192,"sys.nation");
+    X_210 := bat.append(X_200,"sys.L1");
+    X_195 := bat.new(nil:oid,nil:str);
+    X_202 := bat.append(X_195,"n_name");
+    X_212 := bat.append(X_202,"revenue");
+    X_196 := bat.new(nil:oid,nil:str);
+    X_204 := bat.append(X_196,"char");
+    X_214 := bat.append(X_204,"decimal");
     X_197 := bat.new(nil:oid,nil:int);
-    X_206 := bat.append(X_197,0);
-    X_216 := bat.append(X_206,4);
+    X_206 := bat.append(X_197,25);
+    X_216 := bat.append(X_206,19);
+    X_199 := bat.new(nil:oid,nil:int);
+    X_208 := bat.append(X_199,0);
+    X_218 := bat.append(X_208,4);
     X_7 := sql.mvc();
     X_11:bat[:oid,:date]  := sql.bind(X_7,"sys","orders","o_orderdate",0);
     X_8:bat[:oid,:oid]  := sql.tid(X_7,"sys","orders");
     X_19:date := mtime.addmonths(A3,A4);
-    X_258 := algebra.subselect(X_11,X_8,A2,X_19,true,false,false);
+    X_260 := algebra.subselect(X_11,X_8,A2,X_19,true,false,false);
     (X_14,r1_14) := sql.bind(X_7,"sys","orders","o_orderdate",2);
-    X_259 := 
algebra.subselect(r1_14,nil:bat[:oid,:oid],A2,X_19,true,false,false);
+    X_261 := 
algebra.subselect(r1_14,nil:bat[:oid,:oid],A2,X_19,true,false,false);
     X_17:bat[:oid,:date]  := sql.bind(X_7,"sys","orders","o_orderdate",1);
-    X_261 := algebra.subselect(X_17,X_8,A2,X_19,true,false,false);
-    X_20 := sql.subdelta(X_258,X_8,X_14,X_259,X_261);
+    X_263 := algebra.subselect(X_17,X_8,A2,X_19,true,false,false);
+    X_20 := sql.subdelta(X_260,X_8,X_14,X_261,X_263);
     X_22:bat[:oid,:oid]  := 
sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",0);
     (X_24,r1_29) := 
sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",2);
     X_26:bat[:oid,:oid]  := 
sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",1);
@@ -172,10 +172,12 @@ function user.s2_1{autoCommit=true}(A0:b
     X_177:bat[:oid,:str] := algebra.leftfetchjoinPath(X_141,r1_141,X_176);
     (X_178,r1_219,r2_219) := group.subgroupdone(X_177);
     X_181:bat[:oid,:lng] := aggr.subsum(X_166,X_178,r1_219,true,true);
+    X_187 := algebra.leftfetchjoin(r1_219,X_177);
     (X_183,r1_224,r2_224) := algebra.subsort(X_181,true,false);
-    X_187:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_224,r1_219,X_177);
-    X_188 := algebra.leftfetchjoin(r1_224,X_181);
-    sql.resultSet(X_208,X_210,X_212,X_214,X_216,X_187,X_188);
+    X_188 := bat.setKey(X_187,true);
+    X_189 := algebra.leftfetchjoin(r1_224,X_188);
+    X_190 := algebra.leftfetchjoin(r1_224,X_181);
+    sql.resultSet(X_210,X_212,X_214,X_216,X_218,X_189,X_190);
 end user.s2_1;
 
 # 15:45:52 >  
diff --git a/sql/benchmarks/tpch/Tests/08-explain.stable.out 
b/sql/benchmarks/tpch/Tests/08-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/08-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/08-explain.stable.out
@@ -59,22 +59,22 @@ Ready.
 % clob # type
 % 963 # length
 function 
user.s2_1{autoCommit=true}(A0:str,A1:bte,A2:bte,A3:str,A4:date,A5:date,A6:str):void;
-    X_242:void := querylog.define("explain 
select\n\to_year,\n\tsum(case\n\t\twhen nation = \\'BRAZIL\\' then 
volume\n\t\telse 0\n\tend) / sum(volume) as 
mkt_share\nfrom\n\t(\n\t\tselect\n\t\t\textract(year from o_orderdate) as 
o_year,\n\t\t\tl_extendedprice * (1 - l_discount) as volume,\n\t\t\tn2.n_name 
as 
nation\n\t\tfrom\n\t\t\tpart,\n\t\t\tsupplier,\n\t\t\tlineitem,\n\t\t\torders,\n\t\t\tcustomer,\n\t\t\tnation
 n1,\n\t\t\tnation n2,\n\t\t\tregion\n\t\twhere\n\t\t\tp_partkey = 
l_partkey\n\t\t\tand s_suppkey = l_suppkey\n\t\t\tand l_orderkey = 
o_orderkey\n\t\t\tand o_custkey = c_custkey\n\t\t\tand c_nationkey = 
n1.n_nationkey\n\t\t\tand n1.n_regionkey = r_regionkey\n\t\t\tand r_name = 
\\'AMERICA\\'\n\t\t\tand s_nationkey = n2.n_nationkey\n\t\t\tand o_orderdate 
between date \\'1995-01-01\\' and date \\'1996-12-31\\'\n\t\t\tand p_type = 
\\'ECONOMY ANODIZED STEEL\\'\n\t) as all_nations\ngroup by\n\to_year\norder 
by\n\to_year;","sequential_pipe",134);
-    X_214 := bat.new(nil:oid,nil:str);
-    X_222 := bat.append(X_214,"sys.all_nations");
-    X_232 := bat.append(X_222,"sys.L3");
+    X_245:void := querylog.define("explain 
select\n\to_year,\n\tsum(case\n\t\twhen nation = \\'BRAZIL\\' then 
volume\n\t\telse 0\n\tend) / sum(volume) as 
mkt_share\nfrom\n\t(\n\t\tselect\n\t\t\textract(year from o_orderdate) as 
o_year,\n\t\t\tl_extendedprice * (1 - l_discount) as volume,\n\t\t\tn2.n_name 
as 
nation\n\t\tfrom\n\t\t\tpart,\n\t\t\tsupplier,\n\t\t\tlineitem,\n\t\t\torders,\n\t\t\tcustomer,\n\t\t\tnation
 n1,\n\t\t\tnation n2,\n\t\t\tregion\n\t\twhere\n\t\t\tp_partkey = 
l_partkey\n\t\t\tand s_suppkey = l_suppkey\n\t\t\tand l_orderkey = 
o_orderkey\n\t\t\tand o_custkey = c_custkey\n\t\t\tand c_nationkey = 
n1.n_nationkey\n\t\t\tand n1.n_regionkey = r_regionkey\n\t\t\tand r_name = 
\\'AMERICA\\'\n\t\t\tand s_nationkey = n2.n_nationkey\n\t\t\tand o_orderdate 
between date \\'1995-01-01\\' and date \\'1996-12-31\\'\n\t\t\tand p_type = 
\\'ECONOMY ANODIZED STEEL\\'\n\t) as all_nations\ngroup by\n\to_year\norder 
by\n\to_year;","sequential_pipe",135);
     X_217 := bat.new(nil:oid,nil:str);
-    X_224 := bat.append(X_217,"o_year");
-    X_234 := bat.append(X_224,"mkt_share");
-    X_218 := bat.new(nil:oid,nil:str);
-    X_226 := bat.append(X_218,"int");
-    X_236 := bat.append(X_226,"decimal");
-    X_219 := bat.new(nil:oid,nil:int);
-    X_228 := bat.append(X_219,32);
-    X_238 := bat.append(X_228,19);
-    X_221 := bat.new(nil:oid,nil:int);
-    X_230 := bat.append(X_221,0);
-    X_240 := bat.append(X_230,4);
+    X_225 := bat.append(X_217,"sys.all_nations");
+    X_235 := bat.append(X_225,"sys.L3");
+    X_220 := bat.new(nil:oid,nil:str);
+    X_227 := bat.append(X_220,"o_year");
+    X_237 := bat.append(X_227,"mkt_share");
+    X_221 := bat.new(nil:oid,nil:str);
+    X_229 := bat.append(X_221,"int");
+    X_239 := bat.append(X_229,"decimal");
+    X_222 := bat.new(nil:oid,nil:int);
+    X_231 := bat.append(X_222,32);
+    X_241 := bat.append(X_231,19);
+    X_224 := bat.new(nil:oid,nil:int);
+    X_233 := bat.append(X_224,0);
+    X_243 := bat.append(X_233,4);
     X_9 := sql.mvc();
     X_10:bat[:oid,:oid]  := sql.tid(X_9,"sys","lineitem");
     X_13:bat[:oid,:oid]  := 
sql.bind_idxbat(X_9,"sys","lineitem","lineitem_l_orderkey_fkey",0);
@@ -98,12 +98,12 @@ function user.s2_1{autoCommit=true}(A0:s
     X_44 := algebra.leftfetchjoin(X_32,X_43);
     X_47:bat[:oid,:str] := sql.bind(X_9,"sys","part","p_type",0);
     X_45:bat[:oid,:oid] := sql.tid(X_9,"sys","part");
-    X_295 := algebra.subselect(X_47,X_45,A6,A6,true,false,false);
+    X_298 := algebra.subselect(X_47,X_45,A6,A6,true,false,false);
     (X_50,r1_56) := sql.bind(X_9,"sys","part","p_type",2);
-    X_296 := 
algebra.subselect(r1_56,nil:bat[:oid,:oid],A6,A6,true,false,false);
+    X_299 := 
algebra.subselect(r1_56,nil:bat[:oid,:oid],A6,A6,true,false,false);
     X_53:bat[:oid,:str] := sql.bind(X_9,"sys","part","p_type",1);
-    X_298 := algebra.subselect(X_53,X_45,A6,A6,true,false,false);
-    X_55 := sql.subdelta(X_295,X_45,X_50,X_296,X_298);
+    X_301 := algebra.subselect(X_53,X_45,A6,A6,true,false,false);
+    X_55 := sql.subdelta(X_298,X_45,X_50,X_299,X_301);
     X_57:bat[:oid,:int] := sql.bind(X_9,"sys","part","p_partkey",0);
     (X_59,r1_68) := sql.bind(X_9,"sys","part","p_partkey",2);
     X_61:bat[:oid,:int] := sql.bind(X_9,"sys","part","p_partkey",1);
@@ -160,37 +160,38 @@ function user.s2_1{autoCommit=true}(A0:s
     X_155:bat[:oid,:int] := batmtime.year(X_154);
     (X_156,r1_191,r2_191) := group.subgroupdone(X_155);
     X_159 := algebra.leftfetchjoin(r1_191,X_155);
-    X_164:bat[:oid,:str] := sql.bind(X_9,"sys","nation","n_name",0);
-    (X_168,r1_203) := sql.bind(X_9,"sys","nation","n_name",2);
-    X_171:bat[:oid,:str] := sql.bind(X_9,"sys","nation","n_name",1);
-    X_173 := sql.projectdelta(X_91,X_164,X_168,r1_203,X_171);
-    X_174 := algebra.leftfetchjoin(r1_178,X_173);
-    X_175:bat[:oid,:bit] := batcalc.==(X_174,A0);
-    X_176:bat[:oid,:bit] := batcalc.isnil(X_175);
-    X_178:bat[:oid,:bit] := batcalc.ifthenelse(X_176,false,X_175);
-    X_179:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_extendedprice",0);
-    (X_182,r1_226) := sql.bind(X_9,"sys","lineitem","l_extendedprice",2);
-    X_184:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_extendedprice",1);
-    X_185 := sql.projectdelta(X_10,X_179,X_182,r1_226,X_184);
-    X_186:bat[:oid,:lng] := 
algebra.leftfetchjoinPath(X_151,X_138,X_116,X_93,X_79,X_63,X_32,X_185);
-    X_187 := calc.lng(A2,15,2);
-    X_190:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_discount",0);
-    (X_194,r1_246) := sql.bind(X_9,"sys","lineitem","l_discount",2);
-    X_196:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_discount",1);
-    X_198 := sql.projectdelta(X_10,X_190,X_194,r1_246,X_196);
-    X_199:bat[:oid,:lng] := 
algebra.leftfetchjoinPath(X_151,X_138,X_116,X_93,X_79,X_63,X_32,X_198);
-    X_200:bat[:oid,:lng] := batcalc.-(X_187,X_199);
-    X_201:bat[:oid,:lng] := batcalc.*(X_186,X_200);
-    X_202 := calc.lng(A1,19,4);
-    X_205:bat[:oid,:lng] := batcalc.ifthenelse(X_178,X_201,X_202);
-    X_206:bat[:oid,:lng] := aggr.subsum(X_205,X_156,r1_191,true,true);
-    X_210:bat[:oid,:lng] := aggr.subsum(X_201,X_156,r1_191,true,true);
-    (X_160,r1_195,r2_195) := algebra.subsort(X_159,false,false);
-    X_163 := algebra.leftfetchjoin(r1_195,X_159);
-    X_208:bat[:oid,:lng] := batcalc.lng(4,X_206,19,8);
-    X_211:bat[:oid,:lng] := batcalc./(X_208,X_210);
-    X_212 := algebra.leftfetchjoin(r1_195,X_211);
-    sql.resultSet(X_232,X_234,X_236,X_238,X_240,X_163,X_212);
+    X_167:bat[:oid,:str] := sql.bind(X_9,"sys","nation","n_name",0);
+    (X_171,r1_206) := sql.bind(X_9,"sys","nation","n_name",2);
+    X_174:bat[:oid,:str] := sql.bind(X_9,"sys","nation","n_name",1);
+    X_177 := sql.projectdelta(X_91,X_167,X_171,r1_206,X_174);
+    X_178 := algebra.leftfetchjoin(r1_178,X_177);
+    X_179:bat[:oid,:bit] := batcalc.==(X_178,A0);
+    X_180:bat[:oid,:bit] := batcalc.isnil(X_179);
+    X_181:bat[:oid,:bit] := batcalc.ifthenelse(X_180,false,X_179);
+    X_182:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_extendedprice",0);
+    (X_185,r1_229) := sql.bind(X_9,"sys","lineitem","l_extendedprice",2);
+    X_187:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_extendedprice",1);
+    X_188 := sql.projectdelta(X_10,X_182,X_185,r1_229,X_187);
+    X_189:bat[:oid,:lng] := 
algebra.leftfetchjoinPath(X_151,X_138,X_116,X_93,X_79,X_63,X_32,X_188);
+    X_190 := calc.lng(A2,15,2);
+    X_193:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_discount",0);
+    (X_197,r1_249) := sql.bind(X_9,"sys","lineitem","l_discount",2);
+    X_199:bat[:oid,:lng] := sql.bind(X_9,"sys","lineitem","l_discount",1);
+    X_201 := sql.projectdelta(X_10,X_193,X_197,r1_249,X_199);
+    X_202:bat[:oid,:lng] := 
algebra.leftfetchjoinPath(X_151,X_138,X_116,X_93,X_79,X_63,X_32,X_201);
+    X_203:bat[:oid,:lng] := batcalc.-(X_190,X_202);
+    X_204:bat[:oid,:lng] := batcalc.*(X_189,X_203);
+    X_205 := calc.lng(A1,19,4);
+    X_208:bat[:oid,:lng] := batcalc.ifthenelse(X_181,X_204,X_205);
+    X_209:bat[:oid,:lng] := aggr.subsum(X_208,X_156,r1_191,true,true);
+    X_213:bat[:oid,:lng] := aggr.subsum(X_204,X_156,r1_191,true,true);
+    X_160 := bat.setKey(X_159,true);
+    (X_162,r1_197,r2_197) := algebra.subsort(X_160,false,false);
+    X_166 := algebra.leftfetchjoin(r1_197,X_160);
+    X_211:bat[:oid,:lng] := batcalc.lng(4,X_209,19,8);
+    X_214:bat[:oid,:lng] := batcalc./(X_211,X_213);
+    X_215 := algebra.leftfetchjoin(r1_197,X_214);
+    sql.resultSet(X_235,X_237,X_239,X_241,X_243,X_166,X_215);
 end user.s2_1;
 
 # 22:53:27 >  
diff --git a/sql/benchmarks/tpch/Tests/11-explain.stable.out 
b/sql/benchmarks/tpch/Tests/11-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/11-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/11-explain.stable.out
@@ -72,40 +72,40 @@ function user.s2_1{autoCommit=true}(A0:s
     X_25:bat[:oid,:str]  := sql.bind(X_5,"sys","nation","n_name",1);
     X_26 := sql.delta(X_21,X_23,r1_23,X_25);
     X_27 := algebra.leftfetchjoin(X_19,X_26);
-    X_84 := algebra.subselect(X_27,A2,A2,true,false,false);
-    X_86 := algebra.leftfetchjoin(X_84,X_19);
-    (X_87,r1_114) := algebra.subjoin(X_18,X_86,nil:BAT,nil:BAT,false,nil:lng);
-    X_91 := algebra.leftfetchjoin(X_87,X_6);
+    X_85 := algebra.subselect(X_27,A2,A2,true,false,false);
+    X_88 := algebra.leftfetchjoin(X_85,X_19);
+    (X_89,r1_116) := algebra.subjoin(X_18,X_88,nil:BAT,nil:BAT,false,nil:lng);
+    X_93 := algebra.leftfetchjoin(X_89,X_6);
     X_36:bat[:oid,:oid]  := sql.tid(X_5,"sys","partsupp");
     X_38:bat[:oid,:oid]  := 
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",0);
     (X_41,r1_42) := 
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",2);
     X_43:bat[:oid,:oid]  := 
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",1);
     X_44 := sql.delta(X_38,X_41,r1_42,X_43);
     X_45 := algebra.leftfetchjoin(X_36,X_44);
-    (X_92,r1_128) := algebra.subjoin(X_91,X_45,nil:BAT,nil:BAT,false,nil:lng);
-    X_63:bat[:oid,:lng]  := sql.bind(X_5,"sys","partsupp","ps_supplycost",0);
-    (X_65,r1_67) := sql.bind(X_5,"sys","partsupp","ps_supplycost",2);
-    X_67:bat[:oid,:lng]  := sql.bind(X_5,"sys","partsupp","ps_supplycost",1);
-    X_68 := sql.delta(X_63,X_65,r1_67,X_67);
-    X_69 := algebra.leftfetchjoin(X_36,X_68);
-    X_95 := algebra.leftfetchjoin(r1_128,X_69);
-    X_71:bat[:oid,:int]  := sql.bind(X_5,"sys","partsupp","ps_availqty",0);
-    (X_75,r1_77) := sql.bind(X_5,"sys","partsupp","ps_availqty",2);
-    X_77:bat[:oid,:int]  := sql.bind(X_5,"sys","partsupp","ps_availqty",1);
-    X_78 := sql.delta(X_71,X_75,r1_77,X_77);
-    X_79 := algebra.leftfetchjoin(X_36,X_78);
-    X_96 := algebra.leftfetchjoin(r1_128,X_79);
-    X_97:bat[:oid,:lng]  := batcalc.*(X_95,X_96);
-    X_98:lng  := aggr.sum(X_97);
-    X_99:lng := calc.*(X_98,A1);
+    (X_94,r1_130) := algebra.subjoin(X_93,X_45,nil:BAT,nil:BAT,false,nil:lng);
+    X_65:bat[:oid,:lng] := sql.bind(X_5,"sys","partsupp","ps_supplycost",0);
+    (X_67,r1_69) := sql.bind(X_5,"sys","partsupp","ps_supplycost",2);
+    X_70:bat[:oid,:lng] := sql.bind(X_5,"sys","partsupp","ps_supplycost",1);
+    X_72 := sql.delta(X_65,X_67,r1_69,X_70);
+    X_73 := algebra.leftfetchjoin(X_36,X_72);
+    X_97 := algebra.leftfetchjoin(r1_130,X_73);
+    X_75:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_availqty",0);
+    (X_77,r1_79) := sql.bind(X_5,"sys","partsupp","ps_availqty",2);
+    X_79:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_availqty",1);
+    X_80 := sql.delta(X_75,X_77,r1_79,X_79);
+    X_81 := algebra.leftfetchjoin(X_36,X_80);
+    X_98 := algebra.leftfetchjoin(r1_130,X_81);
+    X_99:bat[:oid,:lng] := batcalc.*(X_97,X_98);
+    X_100:lng := aggr.sum(X_99);
+    X_101:lng := calc.*(X_100,A1);
     X_28 := algebra.subselect(X_27,A0,A0,true,false,false);
     X_30 := algebra.leftfetchjoin(X_28,X_19);
     (X_31,r1_32) := algebra.subjoin(X_18,X_30,nil:BAT,nil:BAT,false,nil:lng);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to