Changeset: ec55a3bda374 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec55a3bda374 Modified Files: monetdb5/optimizer/Tests/JPexample.stable.out monetdb5/optimizer/Tests/projectionchain.stable.out sql/benchmarks/ssbm/Tests/04-explain.stable.out sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-explain.stable.out sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-explain.stable.out sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-explain.stable.out sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-explain.stable.out sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-explain.stable.out sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-explain.stable.out sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-explain.stable.out sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/13-explain.stable.out sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128 sql/benchmarks/tpch/Tests/05-explain.stable.out sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out.int128 sql/benchmarks/tpch/Tests/07-explain.stable.out sql/benchmarks/tpch/Tests/07-explain.stable.out.int128 sql/benchmarks/tpch/Tests/08-explain.stable.out sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 sql/benchmarks/tpch/Tests/09-explain.stable.out sql/benchmarks/tpch/Tests/09-explain.stable.out.int128 sql/benchmarks/tpch/Tests/15-explain.stable.out sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/18-explain.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/19-explain.stable.out sql/benchmarks/tpch/Tests/19-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 Branch: default Log Message:
Approve output diffs (truncated from 1651 to 300 lines): diff --git a/monetdb5/optimizer/Tests/JPexample.stable.out b/monetdb5/optimizer/Tests/JPexample.stable.out --- a/monetdb5/optimizer/Tests/JPexample.stable.out +++ b/monetdb5/optimizer/Tests/JPexample.stable.out @@ -36,11 +36,12 @@ function user.foo():void; c:bat[:oid] := bat.new(:oid,:oid); #[3] CMDBATnew 4 <- 2 2 d:bat[:oid] := bat.new(:oid,:oid); #[4] CMDBATnew 5 <- 2 2 j1:bat[:oid] := algebra.projection(a:bat[:oid],b:bat[:oid]); #[5] ALGprojection 6 <- 1 3 - j2:bat[:oid] := algebra.projectionpath(a:bat[:oid],b:bat[:oid],c:bat[:oid]); #[6] ALGprojectionpath 7 <- 1 3 4 - j3:bat[:any] := algebra.projectionpath(a:bat[:oid],b:bat[:oid],c:bat[:oid],d:bat[:oid]); #[7] ALGprojectionpath 8 <- 1 3 4 5 - j4:bat[:any] := algebra.projectionpath(a:bat[:oid],b:bat[:oid],c:bat[:oid]); #[8] ALGprojectionpath 9 <- 1 3 4 - j5:bat[:oid] := algebra.projectionpath(a:bat[:oid],b:bat[:oid],c:bat[:oid],b:bat[:oid]); #[9] ALGprojectionpath 10 <- 1 3 4 3 -end user.foo; #[10] + X_11:bat[:oid] := algebra.projectionpath(a:bat[:oid],b:bat[:oid],c:bat[:oid]); #[6] ALGprojectionpath 11 <- 1 3 4 + j2:bat[:oid] := X_11:bat[:oid]; #[7] 7 <- 11 + j3:bat[:any] := algebra.projectionpath(X_11:bat[:oid],d:bat[:oid]); #[8] ALGprojectionpath 8 <- 11 5 + j4:bat[:any] := X_11:bat[:oid]; #[9] 9 <- 11 + j5:bat[:oid] := algebra.projectionpath(X_11:bat[:oid],b:bat[:oid]); #[10] ALGprojectionpath 10 <- 11 3 +end user.foo; #[11] # 06:41:06 > # 06:41:06 > "Done." diff --git a/monetdb5/optimizer/Tests/projectionchain.stable.out b/monetdb5/optimizer/Tests/projectionchain.stable.out --- a/monetdb5/optimizer/Tests/projectionchain.stable.out +++ b/monetdb5/optimizer/Tests/projectionchain.stable.out @@ -64,25 +64,28 @@ function user.qry():void; bat.append(k,8); bat.append(k,9); e := algebra.projection(a,b); - f:bat[:oid] := algebra.projectionpath(a,b,c); + X_91:bat[:oid] := algebra.projectionpath(a,b); + X_89:bat[:oid] := algebra.projectionpath(X_91,c); + f:bat[:oid] := X_89; g := algebra.projection(f,d); l := algebra.projection(f,k); io.print(g); io.print(l); # recognize common heads e1 := algebra.projection(a,b); - e2:bat[:oid] := algebra.projectionpath(a,b,b); + X_90:bat[:oid] := algebra.projectionpath(X_91,b); + e2:bat[:oid] := X_90; f1 := algebra.projection(a,b); - f2:bat[:oid] := algebra.projectionpath(a,b,b); - g1:bat[:str] := algebra.projectionpath(a,b,b,d); - l1:bat[:int] := algebra.projectionpath(a,b,b,k); + f2:bat[:oid] := X_90; + g1:bat[:str] := algebra.projectionpath(X_90,d); + l1:bat[:int] := algebra.projectionpath(X_90,k); #io.print(g1); #io.print(l1); h := algebra.projectionpath(c,d); io.print(h); i := algebra.projectionpath(b,c,d); io.print(i); - j := algebra.projectionpath(a,b,c,d); + j := algebra.projectionpath(X_89,d); io.print(j); io.print("empty sequences"); w := algebra.projectionpath(empty,c,d); @@ -127,25 +130,28 @@ function user.qry():void; bat.append(k,8); bat.append(k,9); e := algebra.projection(a,b); - f:bat[:oid] := algebra.projectionpath(a,b,c); + X_91:bat[:oid] := algebra.projectionpath(a,b); + X_89:bat[:oid] := algebra.projectionpath(X_91,c); + f:bat[:oid] := X_89; g := algebra.projection(f,d); l := algebra.projection(f,k); io.print(g); io.print(l); # recognize common heads e1 := algebra.projection(a,b); - e2:bat[:oid] := algebra.projectionpath(a,b,b); + X_90:bat[:oid] := algebra.projectionpath(X_91,b); + e2:bat[:oid] := X_90; f1 := algebra.projection(a,b); - f2:bat[:oid] := algebra.projectionpath(a,b,b); - g1:bat[:str] := algebra.projectionpath(a,b,b,d); - l1:bat[:int] := algebra.projectionpath(a,b,b,k); + f2:bat[:oid] := X_90; + g1:bat[:str] := algebra.projectionpath(X_90,d); + l1:bat[:int] := algebra.projectionpath(X_90,k); #io.print(g1); #io.print(l1); h := algebra.projectionpath(c,d); io.print(h); i := algebra.projectionpath(b,c,d); io.print(i); - j := algebra.projectionpath(a,b,c,d); + j := algebra.projectionpath(X_89,d); io.print(j); io.print("empty sequences"); w := algebra.projectionpath(empty,c,d); diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out b/sql/benchmarks/ssbm/Tests/04-explain.stable.out --- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out +++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out @@ -41,7 +41,7 @@ Ready. % clob # type % 362 # length function user.s2_1(A0:str,A1:str):void; - X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",85); + X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",86); X_98 := bat.new(nil:oid,nil:str); X_106 := bat.append(X_98,"sys.L1"); X_115 := bat.append(X_106,"sys.dwdate"); @@ -98,11 +98,12 @@ function user.s2_1(A0:str,A1:str):void; X_53:bat[:oid] := algebra.projectionpath(X_45,X_26,X_52); C_54:bat[:oid] := sql.tid(X_3,"sys","dwdate"); (X_56,r1_70) := algebra.subjoin(X_53,C_54,nil:BAT,nil:BAT,false,nil:lng); + X_146:bat[:oid] := algebra.projectionpath(X_56,X_45); X_58:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",0); (C_60,r1_78) := sql.bind(X_3,"sys","part","p_brand1",2); X_62:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",1); X_63 := sql.projectdelta(C_23,X_58,C_60,r1_78,X_62); - X_64:bat[:str] := algebra.projectionpath(X_56,X_45,r1_32,X_63); + X_64:bat[:str] := algebra.projectionpath(X_146,r1_32,X_63); X_65:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",0); (C_67,r1_89) := sql.bind(X_3,"sys","dwdate","d_year",2); X_69:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",1); diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 @@ -41,7 +41,7 @@ Ready. % clob # type % 362 # length function user.s2_1(A0:str,A1:str):void; - X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",85); + X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",86); X_98 := bat.new(nil:oid,nil:str); X_106 := bat.append(X_98,"sys.L1"); X_115 := bat.append(X_106,"sys.dwdate"); @@ -98,11 +98,12 @@ function user.s2_1(A0:str,A1:str):void; X_53:bat[:oid] := algebra.projectionpath(X_45,X_26,X_52); C_54:bat[:oid] := sql.tid(X_3,"sys","dwdate"); (X_56,r1_70) := algebra.subjoin(X_53,C_54,nil:BAT,nil:BAT,false,nil:lng); + X_146:bat[:oid] := algebra.projectionpath(X_56,X_45); X_58:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",0); (C_60,r1_78) := sql.bind(X_3,"sys","part","p_brand1",2); X_62:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",1); X_63 := sql.projectdelta(C_23,X_58,C_60,r1_78,X_62); - X_64:bat[:str] := algebra.projectionpath(X_56,X_45,r1_32,X_63); + X_64:bat[:str] := algebra.projectionpath(X_146,r1_32,X_63); X_65:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",0); (C_67,r1_89) := sql.bind(X_3,"sys","dwdate","d_year",2); X_69:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",1); @@ -116,7 +117,7 @@ function user.s2_1(A0:str,A1:str):void; (C_88,r1_113) := sql.bind(X_3,"sys","lineorder","lo_revenue",2); X_90:bat[:int] := sql.bind(X_3,"sys","lineorder","lo_revenue",1); X_91 := sql.projectdelta(C_4,X_86,C_88,r1_113,X_90); - X_92:bat[:int] := algebra.projectionpath(X_56,X_45,X_26,X_91); + X_92:bat[:int] := algebra.projectionpath(X_146,X_26,X_91); X_93:bat[:hge] := aggr.subsum(X_92,X_75,r1_98,true,true); (X_80,r1_103,r2_103) := algebra.subsort(X_79,false,false); (X_83,r1_106,r2_106) := algebra.subsort(X_78,r1_103,r2_103,false,false); diff --git a/sql/benchmarks/ssbm/Tests/05-explain.stable.out b/sql/benchmarks/ssbm/Tests/05-explain.stable.out --- a/sql/benchmarks/ssbm/Tests/05-explain.stable.out +++ b/sql/benchmarks/ssbm/Tests/05-explain.stable.out @@ -43,7 +43,7 @@ Ready. % clob # type % 390 # length function user.s2_1(A0:str,A1:str,A2:str):void; - X_126:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = \\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",82); + X_126:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = \\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",83); X_94 := bat.new(nil:oid,nil:str); X_102 := bat.append(X_94,"sys.L1"); X_111 := bat.append(X_102,"sys.dwdate"); @@ -100,8 +100,9 @@ function user.s2_1(A0:str,A1:str,A2:str) X_54:bat[:oid] := algebra.projectionpath(X_46,X_27,X_53); C_55:bat[:oid] := sql.tid(X_4,"sys","dwdate"); (X_57,r1_72) := algebra.subjoin(X_54,C_55,nil:BAT,nil:BAT,false,nil:lng); + X_142:bat[:oid] := algebra.projectionpath(X_57,X_46); X_59 := sql.projectdelta(C_24,X_19,C_21,r1_22,X_23); - X_60:bat[:str] := algebra.projectionpath(X_57,X_46,r1_34,X_59); + X_60:bat[:str] := algebra.projectionpath(X_142,r1_34,X_59); X_61:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",0); (C_63,r1_84) := sql.bind(X_4,"sys","dwdate","d_year",2); X_65:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",1); diff --git a/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 @@ -43,7 +43,7 @@ Ready. % clob # type % 390 # length function user.s2_1(A0:str,A1:str,A2:str):void; - X_126:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = \\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",82); + X_126:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = \\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",83); X_94 := bat.new(nil:oid,nil:str); X_102 := bat.append(X_94,"sys.L1"); X_111 := bat.append(X_102,"sys.dwdate"); @@ -100,8 +100,9 @@ function user.s2_1(A0:str,A1:str,A2:str) X_54:bat[:oid] := algebra.projectionpath(X_46,X_27,X_53); C_55:bat[:oid] := sql.tid(X_4,"sys","dwdate"); (X_57,r1_72) := algebra.subjoin(X_54,C_55,nil:BAT,nil:BAT,false,nil:lng); + X_142:bat[:oid] := algebra.projectionpath(X_57,X_46); X_59 := sql.projectdelta(C_24,X_19,C_21,r1_22,X_23); - X_60:bat[:str] := algebra.projectionpath(X_57,X_46,r1_34,X_59); + X_60:bat[:str] := algebra.projectionpath(X_142,r1_34,X_59); X_61:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",0); (C_63,r1_84) := sql.bind(X_4,"sys","dwdate","d_year",2); X_65:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",1); @@ -115,7 +116,7 @@ function user.s2_1(A0:str,A1:str,A2:str) (C_84,r1_106) := sql.bind(X_4,"sys","lineorder","lo_revenue",2); X_86:bat[:int] := sql.bind(X_4,"sys","lineorder","lo_revenue",1); X_87 := sql.projectdelta(C_5,X_82,C_84,r1_106,X_86); - X_88:bat[:int] := algebra.projectionpath(X_57,X_46,X_27,X_87); + X_88:bat[:int] := algebra.projectionpath(X_142,X_27,X_87); X_89:bat[:hge] := aggr.subsum(X_88,X_71,r1_93,true,true); (X_76,r1_98,r2_98) := algebra.subsort(X_75,false,false); (X_79,r1_101,r2_101) := algebra.subsort(X_74,r1_98,r2_98,false,false); diff --git a/sql/benchmarks/ssbm/Tests/06-explain.stable.out b/sql/benchmarks/ssbm/Tests/06-explain.stable.out --- a/sql/benchmarks/ssbm/Tests/06-explain.stable.out +++ b/sql/benchmarks/ssbm/Tests/06-explain.stable.out @@ -43,7 +43,7 @@ Ready. % clob # type % 366 # length function user.s2_1(A0:str,A1:str):void; - X_125:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 = \\'MFGR#2221\\'\n and s_region = \\'EUROPE\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",82); + X_125:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 = \\'MFGR#2221\\'\n and s_region = \\'EUROPE\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",83); X_93 := bat.new(nil:oid,nil:str); X_101 := bat.append(X_93,"sys.L1"); X_110 := bat.append(X_101,"sys.dwdate"); @@ -100,8 +100,9 @@ function user.s2_1(A0:str,A1:str):void; X_53:bat[:oid] := algebra.projectionpath(X_45,X_26,X_52); C_54:bat[:oid] := sql.tid(X_3,"sys","dwdate"); (X_56,r1_70) := algebra.subjoin(X_53,C_54,nil:BAT,nil:BAT,false,nil:lng); + X_141:bat[:oid] := algebra.projectionpath(X_56,X_45); X_58 := sql.projectdelta(C_23,X_18,C_20,r1_21,X_22); - X_59:bat[:str] := algebra.projectionpath(X_56,X_45,r1_32,X_58); + X_59:bat[:str] := algebra.projectionpath(X_141,r1_32,X_58); X_60:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",0); (C_62,r1_82) := sql.bind(X_3,"sys","dwdate","d_year",2); X_64:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",1); diff --git a/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 @@ -43,7 +43,7 @@ Ready. % clob # type % 366 # length function user.s2_1(A0:str,A1:str):void; - X_125:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 = \\'MFGR#2221\\'\n and s_region = \\'EUROPE\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",82); + X_125:void := querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and p_brand1 = \\'MFGR#2221\\'\n and s_region = \\'EUROPE\\'\n group by d_year, p_brand1\n order by d_year, p_brand1;","sequential_pipe",83); X_93 := bat.new(nil:oid,nil:str); X_101 := bat.append(X_93,"sys.L1"); X_110 := bat.append(X_101,"sys.dwdate"); @@ -100,8 +100,9 @@ function user.s2_1(A0:str,A1:str):void; X_53:bat[:oid] := algebra.projectionpath(X_45,X_26,X_52); C_54:bat[:oid] := sql.tid(X_3,"sys","dwdate"); (X_56,r1_70) := algebra.subjoin(X_53,C_54,nil:BAT,nil:BAT,false,nil:lng); + X_141:bat[:oid] := algebra.projectionpath(X_56,X_45); X_58 := sql.projectdelta(C_23,X_18,C_20,r1_21,X_22); - X_59:bat[:str] := algebra.projectionpath(X_56,X_45,r1_32,X_58); + X_59:bat[:str] := algebra.projectionpath(X_141,r1_32,X_58); X_60:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",0); (C_62,r1_82) := sql.bind(X_3,"sys","dwdate","d_year",2); X_64:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",1); @@ -115,7 +116,7 @@ function user.s2_1(A0:str,A1:str):void; (C_83,r1_104) := sql.bind(X_3,"sys","lineorder","lo_revenue",2); X_85:bat[:int] := sql.bind(X_3,"sys","lineorder","lo_revenue",1); X_86 := sql.projectdelta(C_4,X_81,C_83,r1_104,X_85); - X_87:bat[:int] := algebra.projectionpath(X_56,X_45,X_26,X_86); + X_87:bat[:int] := algebra.projectionpath(X_141,X_26,X_86); X_88:bat[:hge] := aggr.subsum(X_87,X_70,r1_91,true,true); (X_75,r1_96,r2_96) := algebra.subsort(X_74,false,false); (X_78,r1_99,r2_99) := algebra.subsort(X_73,r1_96,r2_96,false,false); diff --git a/sql/benchmarks/ssbm/Tests/07-explain.stable.out b/sql/benchmarks/ssbm/Tests/07-explain.stable.out --- a/sql/benchmarks/ssbm/Tests/07-explain.stable.out +++ b/sql/benchmarks/ssbm/Tests/07-explain.stable.out @@ -42,7 +42,7 @@ Ready. % clob # type % 437 # length function user.s2_1(A0:str,A1:str,A2:int,A3:int):void; - X_149:void := querylog.define("explain\nselect c_nation, s_nation, d_year, sum(lo_revenue) as revenue\n from customer, lineorder, supplier, dwdate\n where lo_custkey = c_custkey\n and lo_suppkey = s_suppkey\n and lo_orderdate = d_datekey\n and c_region = \\'ASIA\\'\n and s_region = \\'ASIA\\'\n and d_year >= 1992 and d_year <= 1997\n group by c_nation, s_nation, d_year\n order by d_year asc, revenue desc;","sequential_pipe",100); + X_149:void := querylog.define("explain\nselect c_nation, s_nation, d_year, sum(lo_revenue) as revenue\n from customer, lineorder, supplier, dwdate\n where lo_custkey = c_custkey\n and lo_suppkey = s_suppkey\n and lo_orderdate = d_datekey\n and c_region = \\'ASIA\\'\n and s_region = \\'ASIA\\'\n and d_year >= 1992 and d_year <= 1997\n group by c_nation, s_nation, d_year\n order by d_year asc, revenue desc;","sequential_pipe",102); X_111 := bat.new(nil:oid,nil:str); X_119 := bat.append(X_111,"sys.customer"); X_126 := bat.append(X_119,"sys.supplier"); @@ -111,11 +111,12 @@ function user.s2_1(A0:str,A1:str,A2:int, C_167 := algebra.subselect(X_62,C_56,A2,A3,true,true,false); C_63 := sql.subdelta(C_165,C_56,C_60,C_166,C_167); (X_64,r1_86) := algebra.subjoin(X_55,C_63,nil:BAT,nil:BAT,false,nil:lng); + X_168:bat[:oid] := algebra.projectionpath(X_64,X_47); X_66:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_revenue",0); (C_68,r1_93) := sql.bind(X_5,"sys","lineorder","lo_revenue",2); X_70:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_revenue",1); X_71 := sql.projectdelta(C_6,X_66,C_68,r1_93,X_70); - X_72:bat[:int] := algebra.projectionpath(X_64,X_47,X_28,X_71); + X_72:bat[:int] := algebra.projectionpath(X_168,X_28,X_71); X_73:bat[:str] := sql.bind(X_5,"sys","supplier","s_nation",0); (C_75,r1_103) := sql.bind(X_5,"sys","supplier","s_nation",2); X_77:bat[:str] := sql.bind(X_5,"sys","supplier","s_nation",1); @@ -125,7 +126,7 @@ function user.s2_1(A0:str,A1:str,A2:int, (C_82,r1_113) := sql.bind(X_5,"sys","customer","c_nation",2); X_84:bat[:str] := sql.bind(X_5,"sys","customer","c_nation",1); X_85 := sql.projectdelta(C_25,X_80,C_82,r1_113,X_84); - X_86:bat[:str] := algebra.projectionpath(X_64,X_47,r1_34,X_85); + X_86:bat[:str] := algebra.projectionpath(X_168,r1_34,X_85); X_87 := sql.projectdelta(C_63,X_58,C_60,r1_74,X_62); X_88 := algebra.projection(r1_86,X_87); (X_89,r1_124,r2_124) := group.subgroup(X_88); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list