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

Reply via email to