[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: default - Approve after changeset f6971e8244d5.
From:       Sjoerd Mullender <commits () monetdb ! org>
Date:       2015-01-28 15:30:02
Message-ID: hg.af82dbd3e6bb.1422459002.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]

Changeset: af82dbd3e6bb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af82dbd3e6bb
Modified Files:
	clients/Tests/exports.stable.out
	sql/benchmarks/ssbm/Tests/01-explain.stable.out
	sql/benchmarks/ssbm/Tests/02-explain.stable.out
	sql/benchmarks/ssbm/Tests/03-explain.stable.out
	sql/benchmarks/ssbm/Tests/04-explain.stable.out
	sql/benchmarks/ssbm/Tests/05-explain.stable.out
	sql/benchmarks/ssbm/Tests/06-explain.stable.out
	sql/benchmarks/ssbm/Tests/07-explain.stable.out
	sql/benchmarks/ssbm/Tests/08-explain.stable.out
	sql/benchmarks/ssbm/Tests/09-explain.stable.out
	sql/benchmarks/ssbm/Tests/10-explain.stable.out
	sql/benchmarks/ssbm/Tests/11-explain.stable.out
	sql/benchmarks/ssbm/Tests/12-explain.stable.out
	sql/benchmarks/ssbm/Tests/13-explain.stable.out
	sql/benchmarks/tpch/Tests/03-explain.stable.out
	sql/benchmarks/tpch/Tests/05-explain.stable.out
	sql/benchmarks/tpch/Tests/07-explain.stable.out
	sql/benchmarks/tpch/Tests/08-explain.stable.out
	sql/benchmarks/tpch/Tests/09-explain.stable.out
	sql/benchmarks/tpch/Tests/10-explain.stable.out
	sql/benchmarks/tpch/Tests/11-explain.stable.out
	sql/benchmarks/tpch/Tests/12-explain.stable.out
	sql/benchmarks/tpch/Tests/14-explain.stable.out
	sql/benchmarks/tpch/Tests/15-explain.stable.out
	sql/benchmarks/tpch/Tests/17-explain.stable.out
	sql/benchmarks/tpch/Tests/18-explain.stable.out
	sql/benchmarks/tpch/Tests/19-explain.stable.out
	sql/benchmarks/tpch/Tests/20-explain.stable.out
	sql/benchmarks/tpch/Tests/22-explain.stable.out
Branch: default
Log Message:

Approve after changeset f6971e8244d5.


diffs (truncated from 2677 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2746,6 +2746,7 @@ str submaxRef;
 str submedianRef;
 str subminRef;
 str subprodRef;
+str subrangejoinRef;
 str subselectRef;
 str subsliceRef;
 str subsortRef;
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out \
                b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_59) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_66) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := sql.bind(X_6,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out \
                b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
@@ -67,7 +67,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_103 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
     X_44 := sql.subdelta(X_100,X_33,X_39,X_101,X_103);
     X_46 := X_44;
-    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,true,nil:lng);
+    (X_47,r1_60) := algebra.subjoin(X_32,X_46,nil:BAT,nil:BAT,false,nil:lng);
     X_51:bat[:oid,:int]  := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
     (X_54,r1_67) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2);
     X_56:bat[:oid,:int]  := sql.bind(X_7,"sys","lineorder","lo_extendedprice",1);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out \
                b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
@@ -74,7 +74,7 @@ function user.s2_1{autoCommit=true}(A0:i
     X_118 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
     X_53 := sql.subdelta(X_115,X_50,X_40,X_116,X_118);
     X_54 := X_53;
-    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,true,nil:lng);
+    (X_55,r1_71) := algebra.subjoin(X_33,X_54,nil:BAT,nil:BAT,false,nil:lng);
     X_59:bat[:oid,:int]  := sql.bind(X_8,"sys","lineorder","lo_extendedprice",0);
     (X_62,r1_78) := sql.bind(X_8,"sys","lineorder","lo_extendedprice",2);
     X_65:bat[:oid,:int]  := sql.bind(X_8,"sys","lineorder","lo_extendedprice",1);
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
@@ -49,14 +49,14 @@ function user.s2_1{autoCommit=true}(A0:s
     X_16 := sql.projectdelta(X_5,X_8,X_11,r1_11,X_14);
     X_19:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_category",0);
     X_17:bat[:oid,:oid]  := sql.tid(X_4,"sys","part");
-    X_165 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
+    X_166 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
     (X_21,r1_22) := sql.bind(X_4,"sys","part","p_category",2);
-    X_166 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
+    X_167 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
     X_23:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_category",1);
-    X_168 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
-    X_24 := sql.subdelta(X_165,X_17,X_21,X_166,X_168);
+    X_169 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
+    X_24 := sql.subdelta(X_166,X_17,X_21,X_167,X_169);
     X_26 := X_24;
-    (X_27,r1_31) := algebra.subjoin(X_16,X_26,nil:BAT,nil:BAT,true,nil:lng);
+    (X_27,r1_31) := algebra.subjoin(X_16,X_26,nil:BAT,nil:BAT,false,nil:lng);
     X_31:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
     (X_33,r1_37) := \
                sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",2);
     X_37:bat[:oid,:oid]  := \
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",1); @@ -64,54 \
+64,54 @@ function user.s2_1{autoCommit=true}(A0:s  X_39 := \
algebra.leftfetchjoin(X_27,X_38);  X_42:bat[:oid,:str]  := \
sql.bind(X_4,"sys","supplier","s_region",0);  X_40:bat[:oid,:oid]  := \
                sql.tid(X_4,"sys","supplier");
-    X_169 := algebra.subselect(X_42,X_40,A1,A1,true,true,false);
+    X_170 := algebra.subselect(X_42,X_40,A1,A1,true,true,false);
     (X_45,r1_50) := sql.bind(X_4,"sys","supplier","s_region",2);
-    X_170 := algebra.subselect(r1_50,nil:bat[:oid,:oid],A1,A1,true,true,false);
+    X_171 := algebra.subselect(r1_50,nil:bat[:oid,:oid],A1,A1,true,true,false);
     X_48:bat[:oid,:str]  := sql.bind(X_4,"sys","supplier","s_region",1);
-    X_172 := algebra.subselect(X_48,X_40,A1,A1,true,true,false);
-    X_50 := sql.subdelta(X_169,X_40,X_45,X_170,X_172);
+    X_173 := algebra.subselect(X_48,X_40,A1,A1,true,true,false);
+    X_50 := sql.subdelta(X_170,X_40,X_45,X_171,X_173);
     X_52 := X_50;
-    (X_53,r1_61) := algebra.subjoin(X_39,X_52,nil:BAT,nil:BAT,true,nil:lng);
-    X_173 := algebra.leftfetchjoin(X_53,X_27);
-    X_55:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
                
-    (X_57,r1_65) := \
                sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
                
-    X_59:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
                
-    X_60 := sql.projectdelta(X_5,X_55,X_57,r1_65,X_59);
-    X_61:bat[:oid,:oid]  := algebra.leftfetchjoin(X_173,X_60);
-    X_62:bat[:oid,:oid]  := sql.tid(X_4,"sys","dwdate");
-    (X_65,r1_75) := algebra.subjoin(X_61,X_62,nil:BAT,nil:BAT,true,nil:lng);
-    X_174 := algebra.leftfetchjoin(X_65,X_53);
-    X_69:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_brand1",0);
-    (X_73,r1_83) := sql.bind(X_4,"sys","part","p_brand1",2);
-    X_76:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_brand1",1);
-    X_78 := sql.projectdelta(X_24,X_69,X_73,r1_83,X_76);
-    X_79:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_174,r1_31,X_78);
-    X_80:bat[:oid,:int]  := sql.bind(X_4,"sys","dwdate","d_year",0);
-    (X_82,r1_96) := sql.bind(X_4,"sys","dwdate","d_year",2);
-    X_84:bat[:oid,:int]  := sql.bind(X_4,"sys","dwdate","d_year",1);
-    X_85 := sql.projectdelta(X_62,X_80,X_82,r1_96,X_84);
-    X_86 := algebra.leftfetchjoin(r1_75,X_85);
-    (X_87,r1_102,r2_102) := group.subgroup(X_86);
-    (X_90,r1_105,r2_105) := group.subgroupdone(X_79,X_87);
-    X_93 := algebra.leftfetchjoin(r1_105,X_79);
-    X_94 := algebra.leftfetchjoin(r1_105,X_86);
-    X_102:bat[:oid,:int]  := sql.bind(X_4,"sys","lineorder","lo_revenue",0);
-    (X_107,r1_122) := sql.bind(X_4,"sys","lineorder","lo_revenue",2);
-    X_110:bat[:oid,:int]  := sql.bind(X_4,"sys","lineorder","lo_revenue",1);
-    X_112 := sql.projectdelta(X_5,X_102,X_107,r1_122,X_110);
-    X_113:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_174,X_27,X_112);
-    X_114:bat[:oid,:lng]  := aggr.subsum(X_113,X_90,r1_105,true,true);
-    (X_95,r1_110,r2_110) := algebra.subsort(X_94,false,false);
-    (X_99,r1_114,r2_114) := algebra.subsort(X_93,r1_110,r2_110,false,false);
-    X_116 := algebra.leftfetchjoin(r1_114,X_114);
-    X_118 := algebra.leftfetchjoin(r1_114,X_93);
-    X_117 := algebra.leftfetchjoin(r1_114,X_94);
-    X_119 := sql.resultSet(3,1,X_116);
-    sql.rsColumn(X_119,"sys.L1","L1","bigint",32,0,X_116);
-    sql.rsColumn(X_119,"sys.dwdate","d_year","int",32,0,X_117);
-    sql.rsColumn(X_119,"sys.part","p_brand1","clob",0,0,X_118);
-    X_134 := io.stdout();
-    sql.exportResult(X_134,X_119);
+    (X_53,r1_61) := algebra.subjoin(X_39,X_52,nil:BAT,nil:BAT,false,nil:lng);
+    X_174 := algebra.leftfetchjoin(X_53,X_27);
+    X_56:bat[:oid,:oid]  := \
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",0); +    \
(X_58,r1_66) := sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
 +    X_60:bat[:oid,:oid]  := \
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",1); +    X_61 := \
sql.projectdelta(X_5,X_56,X_58,r1_66,X_60); +    X_62:bat[:oid,:oid]  := \
algebra.leftfetchjoin(X_174,X_61); +    X_63:bat[:oid,:oid]  := \
sql.tid(X_4,"sys","dwdate"); +    (X_66,r1_76) := \
algebra.subjoin(X_62,X_63,nil:BAT,nil:BAT,false,nil:lng); +    X_175 := \
algebra.leftfetchjoin(X_66,X_53); +    X_70:bat[:oid,:str]  := \
sql.bind(X_4,"sys","part","p_brand1",0); +    (X_74,r1_84) := \
sql.bind(X_4,"sys","part","p_brand1",2); +    X_77:bat[:oid,:str]  := \
sql.bind(X_4,"sys","part","p_brand1",1); +    X_79 := \
sql.projectdelta(X_24,X_70,X_74,r1_84,X_77); +    X_80:bat[:oid,:str]  := \
algebra.leftfetchjoinPath(X_175,r1_31,X_79); +    X_81:bat[:oid,:int]  := \
sql.bind(X_4,"sys","dwdate","d_year",0); +    (X_83,r1_97) := \
sql.bind(X_4,"sys","dwdate","d_year",2); +    X_85:bat[:oid,:int]  := \
sql.bind(X_4,"sys","dwdate","d_year",1); +    X_86 := \
sql.projectdelta(X_63,X_81,X_83,r1_97,X_85); +    X_87 := \
algebra.leftfetchjoin(r1_76,X_86); +    (X_88,r1_103,r2_103) := group.subgroup(X_87);
+    (X_91,r1_106,r2_106) := group.subgroupdone(X_80,X_88);
+    X_94 := algebra.leftfetchjoin(r1_106,X_80);
+    X_95 := algebra.leftfetchjoin(r1_106,X_87);
+    X_103:bat[:oid,:int]  := sql.bind(X_4,"sys","lineorder","lo_revenue",0);
+    (X_108,r1_123) := sql.bind(X_4,"sys","lineorder","lo_revenue",2);
+    X_111:bat[:oid,:int]  := sql.bind(X_4,"sys","lineorder","lo_revenue",1);
+    X_113 := sql.projectdelta(X_5,X_103,X_108,r1_123,X_111);
+    X_114:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_175,X_27,X_113);
+    X_115:bat[:oid,:lng]  := aggr.subsum(X_114,X_91,r1_106,true,true);
+    (X_96,r1_111,r2_111) := algebra.subsort(X_95,false,false);
+    (X_100,r1_115,r2_115) := algebra.subsort(X_94,r1_111,r2_111,false,false);
+    X_117 := algebra.leftfetchjoin(r1_115,X_115);
+    X_119 := algebra.leftfetchjoin(r1_115,X_94);
+    X_118 := algebra.leftfetchjoin(r1_115,X_95);
+    X_120 := sql.resultSet(3,1,X_117);
+    sql.rsColumn(X_120,"sys.L1","L1","bigint",32,0,X_117);
+    sql.rsColumn(X_120,"sys.dwdate","d_year","int",32,0,X_118);
+    sql.rsColumn(X_120,"sys.part","p_brand1","clob",0,0,X_119);
+    X_135 := io.stdout();
+    sql.exportResult(X_135,X_120);
 end s2_1;
 # querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n\tfrom \
lineorder, dwdate, part, supplier\n\twhere lo_orderdate = d_datekey\n\t\tand \
lo_partkey = p_partkey\n\t\tand lo_suppkey = s_suppkey\n\t\tand p_category = \
\\'MFGR#12\\' -- OK to add p_mfgr = 'MFGR#1'\n\t\tand s_region = \
\\'AMERICA\\'\n\tgroup by d_year, p_brand1\n\torder by d_year, \
p_brand1;","sequential_pipe")  
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
@@ -51,14 +51,14 @@ function user.s2_1{autoCommit=true}(A0:s
     X_17 := sql.projectdelta(X_6,X_9,X_12,r1_12,X_15);
     X_20:bat[:oid,:str]  := sql.bind(X_5,"sys","part","p_brand1",0);
     X_18:bat[:oid,:oid]  := sql.tid(X_5,"sys","part");
-    X_158 := algebra.subselect(X_20,X_18,A0,A1,true,true,false);
+    X_159 := algebra.subselect(X_20,X_18,A0,A1,true,true,false);
     (X_22,r1_23) := sql.bind(X_5,"sys","part","p_brand1",2);
-    X_159 := algebra.subselect(r1_23,nil:bat[:oid,:oid],A0,A1,true,true,false);
+    X_160 := algebra.subselect(r1_23,nil:bat[:oid,:oid],A0,A1,true,true,false);
     X_24:bat[:oid,:str]  := sql.bind(X_5,"sys","part","p_brand1",1);
-    X_161 := algebra.subselect(X_24,X_18,A0,A1,true,true,false);
-    X_25 := sql.subdelta(X_158,X_18,X_22,X_159,X_161);
+    X_162 := algebra.subselect(X_24,X_18,A0,A1,true,true,false);
+    X_25 := sql.subdelta(X_159,X_18,X_22,X_160,X_162);
     X_27 := X_25;
-    (X_28,r1_33) := algebra.subjoin(X_17,X_27,nil:BAT,nil:BAT,true,nil:lng);
+    (X_28,r1_33) := algebra.subjoin(X_17,X_27,nil:BAT,nil:BAT,false,nil:lng);
     X_32:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
     (X_34,r1_39) := \
                sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_suppkey_fkey",2);
     X_38:bat[:oid,:oid]  := \
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_suppkey_fkey",1); @@ -66,51 \
+66,51 @@ function user.s2_1{autoCommit=true}(A0:s  X_40 := \
algebra.leftfetchjoin(X_28,X_39);  X_43:bat[:oid,:str]  := \
sql.bind(X_5,"sys","supplier","s_region",0);  X_41:bat[:oid,:oid]  := \
                sql.tid(X_5,"sys","supplier");
-    X_162 := algebra.subselect(X_43,X_41,A2,A2,true,true,false);
+    X_163 := algebra.subselect(X_43,X_41,A2,A2,true,true,false);
     (X_46,r1_52) := sql.bind(X_5,"sys","supplier","s_region",2);
-    X_163 := algebra.subselect(r1_52,nil:bat[:oid,:oid],A2,A2,true,true,false);
+    X_164 := algebra.subselect(r1_52,nil:bat[:oid,:oid],A2,A2,true,true,false);
     X_49:bat[:oid,:str]  := sql.bind(X_5,"sys","supplier","s_region",1);
-    X_165 := algebra.subselect(X_49,X_41,A2,A2,true,true,false);
-    X_51 := sql.subdelta(X_162,X_41,X_46,X_163,X_165);
+    X_166 := algebra.subselect(X_49,X_41,A2,A2,true,true,false);
+    X_51 := sql.subdelta(X_163,X_41,X_46,X_164,X_166);
     X_53 := X_51;
-    (X_54,r1_63) := algebra.subjoin(X_40,X_53,nil:BAT,nil:BAT,true,nil:lng);
-    X_166 := algebra.leftfetchjoin(X_54,X_28);
-    X_56:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
                
-    (X_58,r1_67) := \
                sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
                
-    X_60:bat[:oid,:oid]  := \
                sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
                
-    X_61 := sql.projectdelta(X_6,X_56,X_58,r1_67,X_60);
-    X_62:bat[:oid,:oid]  := algebra.leftfetchjoin(X_166,X_61);
-    X_63:bat[:oid,:oid]  := sql.tid(X_5,"sys","dwdate");
-    (X_66,r1_77) := algebra.subjoin(X_62,X_63,nil:BAT,nil:BAT,true,nil:lng);
-    X_167 := algebra.leftfetchjoin(X_66,X_54);
-    X_70 := sql.projectdelta(X_25,X_20,X_22,r1_23,X_24);
-    X_71:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_167,r1_33,X_70);
-    X_72:bat[:oid,:int]  := sql.bind(X_5,"sys","dwdate","d_year",0);
-    (X_75,r1_88) := sql.bind(X_5,"sys","dwdate","d_year",2);
-    X_78:bat[:oid,:int]  := sql.bind(X_5,"sys","dwdate","d_year",1);
-    X_80 := sql.projectdelta(X_63,X_72,X_75,r1_88,X_78);
-    X_81 := algebra.leftfetchjoin(r1_77,X_80);
-    (X_82,r1_96,r2_96) := group.subgroup(X_81);
-    (X_85,r1_99,r2_99) := group.subgroupdone(X_71,X_82);
-    X_88 := algebra.leftfetchjoin(r1_99,X_71);
-    X_89 := algebra.leftfetchjoin(r1_99,X_81);
-    X_97:bat[:oid,:int]  := sql.bind(X_5,"sys","lineorder","lo_revenue",0);
-    (X_101,r1_115) := sql.bind(X_5,"sys","lineorder","lo_revenue",2);
-    X_103:bat[:oid,:int]  := sql.bind(X_5,"sys","lineorder","lo_revenue",1);
-    X_104 := sql.projectdelta(X_6,X_97,X_101,r1_115,X_103);
-    X_105:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_167,X_28,X_104);
-    X_106:bat[:oid,:lng]  := aggr.subsum(X_105,X_85,r1_99,true,true);
-    (X_90,r1_104,r2_104) := algebra.subsort(X_89,false,false);
-    (X_94,r1_108,r2_108) := algebra.subsort(X_88,r1_104,r2_104,false,false);
-    X_108 := algebra.leftfetchjoin(r1_108,X_106);
-    X_110 := algebra.leftfetchjoin(r1_108,X_88);
-    X_109 := algebra.leftfetchjoin(r1_108,X_89);
-    X_111 := sql.resultSet(3,1,X_108);
-    sql.rsColumn(X_111,"sys.L1","L1","bigint",32,0,X_108);
-    sql.rsColumn(X_111,"sys.dwdate","d_year","int",32,0,X_109);
-    sql.rsColumn(X_111,"sys.part","p_brand1","clob",0,0,X_110);
-    X_128 := io.stdout();
-    sql.exportResult(X_128,X_111);
+    (X_54,r1_63) := algebra.subjoin(X_40,X_53,nil:BAT,nil:BAT,false,nil:lng);
+    X_167 := algebra.leftfetchjoin(X_54,X_28);
+    X_57:bat[:oid,:oid]  := \
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",0); +    \
(X_59,r1_68) := sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
 +    X_61:bat[:oid,:oid]  := \
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",1); +    X_62 := \
sql.projectdelta(X_6,X_57,X_59,r1_68,X_61); +    X_63:bat[:oid,:oid]  := \
algebra.leftfetchjoin(X_167,X_62); +    X_64:bat[:oid,:oid]  := \
sql.tid(X_5,"sys","dwdate"); +    (X_67,r1_78) := \
algebra.subjoin(X_63,X_64,nil:BAT,nil:BAT,false,nil:lng); +    X_168 := \
algebra.leftfetchjoin(X_67,X_54); +    X_71 := \
sql.projectdelta(X_25,X_20,X_22,r1_23,X_24); +    X_72:bat[:oid,:str]  := \
algebra.leftfetchjoinPath(X_168,r1_33,X_71); +    X_73:bat[:oid,:int]  := \
sql.bind(X_5,"sys","dwdate","d_year",0); +    (X_76,r1_89) := \
sql.bind(X_5,"sys","dwdate","d_year",2); +    X_79:bat[:oid,:int]  := \
sql.bind(X_5,"sys","dwdate","d_year",1); +    X_81 := \
sql.projectdelta(X_64,X_73,X_76,r1_89,X_79); +    X_82 := \
algebra.leftfetchjoin(r1_78,X_81); +    (X_83,r1_97,r2_97) := group.subgroup(X_82);
+    (X_86,r1_100,r2_100) := group.subgroupdone(X_72,X_83);
+    X_89 := algebra.leftfetchjoin(r1_100,X_72);
+    X_90 := algebra.leftfetchjoin(r1_100,X_82);
+    X_98:bat[:oid,:int]  := sql.bind(X_5,"sys","lineorder","lo_revenue",0);
+    (X_102,r1_116) := sql.bind(X_5,"sys","lineorder","lo_revenue",2);
+    X_104:bat[:oid,:int]  := sql.bind(X_5,"sys","lineorder","lo_revenue",1);
+    X_105 := sql.projectdelta(X_6,X_98,X_102,r1_116,X_104);
+    X_106:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_168,X_28,X_105);
+    X_107:bat[:oid,:lng]  := aggr.subsum(X_106,X_86,r1_100,true,true);
+    (X_91,r1_105,r2_105) := algebra.subsort(X_90,false,false);
+    (X_95,r1_109,r2_109) := algebra.subsort(X_89,r1_105,r2_105,false,false);
+    X_109 := algebra.leftfetchjoin(r1_109,X_107);
+    X_111 := algebra.leftfetchjoin(r1_109,X_89);
+    X_110 := algebra.leftfetchjoin(r1_109,X_90);
+    X_112 := sql.resultSet(3,1,X_109);
+    sql.rsColumn(X_112,"sys.L1","L1","bigint",32,0,X_109);
+    sql.rsColumn(X_112,"sys.dwdate","d_year","int",32,0,X_110);
+    sql.rsColumn(X_112,"sys.part","p_brand1","clob",0,0,X_111);
+    X_129 := io.stdout();
+    sql.exportResult(X_129,X_112);
 end s2_1;
 # querylog.define("explain\nselect sum(lo_revenue), d_year, p_brand1\n\tfrom \
lineorder, dwdate, part, supplier\n\twhere lo_orderdate = d_datekey\n\t\tand \
lo_partkey = p_partkey\n\t\tand lo_suppkey = s_suppkey\n\t\t-- OK to add \
p_mfgr='MFGR#2'\n\t\t-- OK to add p_category='MFGR#22'\n\t\tand p_brand1 between \
\\'MFGR#2221\\' and \\'MFGR#2228\\'\n\t\tand s_region = \\'ASIA\\'\n\tgroup by \
d_year, p_brand1\n\torder by d_year, p_brand1;","sequential_pipe")  
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
@@ -51,14 +51,14 @@ function user.s2_1{autoCommit=true}(A0:s
     X_16 := sql.projectdelta(X_5,X_8,X_11,r1_11,X_14);
     X_19:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_brand1",0);
     X_17:bat[:oid,:oid]  := sql.tid(X_4,"sys","part");
-    X_157 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
+    X_158 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
     (X_21,r1_22) := sql.bind(X_4,"sys","part","p_brand1",2);
-    X_158 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
+    X_159 := algebra.subselect(r1_22,nil:bat[:oid,:oid],A0,A0,true,true,false);
     X_23:bat[:oid,:str]  := sql.bind(X_4,"sys","part","p_brand1",1);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic