Changeset: f231fb4a9564 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f231fb4a9564
Modified Files:
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/17-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
Branch: default
Log Message:

approved int128 output after merge from Oct2014 branch.


diffs (truncated from 885 to 300 lines):

diff --git a/sql/benchmarks/tpch/Tests/03-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
@@ -108,7 +108,7 @@ function user.s2_1{autoCommit=true}(A0:b
     (X_84,r1_103,r2_103) := group.subgroup(X_83);
     (X_87,r1_106,r2_106) := group.subgroup(X_72,X_84);
     (X_90,r1_109,r2_109) := group.subgroupdone(X_63,X_87);
-    r1_159 := algebra.leftfetchjoin(r1_109,X_63);
+    X_93 := algebra.leftfetchjoin(r1_109,X_63);
     X_94 := sql.bind(X_6,"sys","lineitem","l_extendedprice",0);
     (X_96,r1_115) := sql.bind(X_6,"sys","lineitem","l_extendedprice",2);
     X_99 := sql.bind(X_6,"sys","lineitem","l_extendedprice",1);
@@ -124,9 +124,9 @@ function user.s2_1{autoCommit=true}(A0:b
     X_117:bat[:oid,:lng]  := batcalc.-(X_104,X_116);
     X_118:bat[:oid,:hge]  := batcalc.*(X_102,X_117);
     X_119:bat[:oid,:hge]  := aggr.subsum(X_118,X_90,r1_109,true,true);
-    (X_122,r1_154) := algebra.firstn(X_119,10:wrd,false);
-    X_125 := algebra.firstn(r1_159,X_122,r1_154,10:wrd,true);
-    X_126 := algebra.leftfetchjoin(X_125,r1_159);
+    (X_122,r1_154) := algebra.firstn(X_119,10:wrd,false,false);
+    X_125 := algebra.firstn(X_93,X_122,r1_154,10:wrd,true,false);
+    X_126 := algebra.leftfetchjoin(X_125,X_93);
     X_127 := algebra.leftfetchjoin(X_125,X_119);
     (X_128,r1_162,r2_162) := algebra.subsort(X_127,true,false);
     (X_131,r1_165,r2_165) := algebra.subsort(X_126,r1_162,r2_162,false,false);
diff --git a/sql/benchmarks/tpch/Tests/06-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
@@ -46,28 +46,28 @@ function user.s2_1{autoCommit=true}(A0:d
     X_32 := sql.bind(X_10,"sys","lineitem","l_shipdate",0);
     X_11:bat[:oid,:oid]  := sql.tid(X_10,"sys","lineitem");
     X_39 := mtime.addmonths(A1,A2);
-    X_84 := algebra.subselect(X_32,X_11,A0,X_39,true,false,false);
+    X_83 := algebra.subselect(X_32,X_11,A0,X_39,true,false,false);
     (X_34,r1_43) := sql.bind(X_10,"sys","lineitem","l_shipdate",2);
-    X_85 := algebra.subselect(r1_43,A0,X_39,true,false,false);
+    X_84 := algebra.subselect(r1_43,A0,X_39,true,false,false);
     X_38 := sql.bind(X_10,"sys","lineitem","l_shipdate",1);
-    X_86 := algebra.subselect(X_38,X_11,A0,X_39,true,false,false);
-    X_40 := sql.subdelta(X_84,X_11,X_34,X_85,X_86);
-    X_87 := algebra.thetasubselect(X_27,X_40,A7,"<");
+    X_85 := algebra.subselect(X_38,X_11,A0,X_39,true,false,false);
+    X_40 := sql.subdelta(X_83,X_11,X_34,X_84,X_85);
+    X_86 := algebra.thetasubselect(X_27,X_40,A7,"<");
     (X_29,r1_35) := sql.bind(X_10,"sys","lineitem","l_quantity",2);
-    X_88 := algebra.thetasubselect(r1_35,A7,"<");
+    X_87 := algebra.thetasubselect(r1_35,A7,"<");
     X_31 := sql.bind(X_10,"sys","lineitem","l_quantity",1);
-    X_89 := algebra.thetasubselect(X_31,X_40,A7,"<");
-    X_43 := sql.subdelta(X_87,X_40,X_29,X_88,X_89);
+    X_88 := algebra.thetasubselect(X_31,X_40,A7,"<");
+    X_43 := sql.subdelta(X_86,X_40,X_29,X_87,X_88);
     X_22 := calc.-(A3,A4);
     X_23 := calc.lng(2,X_22,15,2);
     X_25 := calc.+(A5,A6);
     X_26 := calc.lng(2,X_25,15,2);
-    X_90 := algebra.subselect(X_14,X_43,X_23,X_26,true,true,false);
+    X_89 := algebra.subselect(X_14,X_43,X_23,X_26,true,true,false);
     (X_17,r1_17) := sql.bind(X_10,"sys","lineitem","l_discount",2);
-    X_91 := algebra.subselect(r1_17,X_23,X_26,true,true,false);
+    X_90 := algebra.subselect(r1_17,X_23,X_26,true,true,false);
     X_20 := sql.bind(X_10,"sys","lineitem","l_discount",1);
-    X_92 := algebra.subselect(X_20,X_43,X_23,X_26,true,true,false);
-    X_45 := sql.subdelta(X_90,X_43,X_17,X_91,X_92);
+    X_91 := algebra.subselect(X_20,X_43,X_23,X_26,true,true,false);
+    X_45 := sql.subdelta(X_89,X_43,X_17,X_90,X_91);
     X_46 := sql.bind(X_10,"sys","lineitem","l_extendedprice",0);
     (X_49,r1_63) := sql.bind(X_10,"sys","lineitem","l_extendedprice",2);
     X_52 := sql.bind(X_10,"sys","lineitem","l_extendedprice",1);
@@ -75,9 +75,8 @@ function user.s2_1{autoCommit=true}(A0:d
     X_55:bat[:oid,:hge]  := batcalc.hge(2,X_54,30,2);
     X_57 := sql.projectdelta(X_45,X_14,X_17,r1_17,X_20);
     X_58:bat[:oid,:hge]  := batcalc.*(X_55,X_57);
-    X_59 := algebra.selectNotNil(X_58);
-    X_60:hge  := aggr.sum(X_59);
-    sql.exportValue(1,"sys.L1","revenue","decimal",30,4,8,X_60,"");
+    X_59:hge  := aggr.sum(X_58);
+    sql.exportValue(1,"sys.L1","revenue","decimal",30,4,8,X_59,"");
 end s2_1;
 # querylog.define("explain select\n\tsum(l_extendedprice * l_discount) as 
revenue\nfrom\n\tlineitem\nwhere\n\tl_shipdate >= date \\'1994-01-01\\'\n\tand 
l_shipdate < date \\'1994-01-01\\' + interval \\'1\\' year\n\tand l_discount 
between 0.06 - 0.01 and 0.06 + 0.01\n\tand l_quantity < 24;","sequential_pipe")
 
diff --git a/sql/benchmarks/tpch/Tests/10-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
@@ -131,9 +131,9 @@ function user.s2_1{autoCommit=true}(A0:b
     X_117:bat[:oid,:hge]  := batcalc.*(X_102,X_116);
     X_118:bat[:oid,:hge]  := aggr.subsum(X_117,X_87,r1_103,true,true);
     (X_91,r1_115) := algebra.join(X_90,X_82);
-    r1_163 := algebra.leftfetchjoin(X_91,X_118);
-    X_122 := algebra.firstn(r1_163,20:wrd,false);
-    X_124 := algebra.leftfetchjoin(X_122,r1_163);
+    X_120 := algebra.leftfetchjoin(X_91,X_118);
+    X_122 := algebra.firstn(X_120,20:wrd,false,false);
+    X_124 := algebra.leftfetchjoin(X_122,X_120);
     (X_125,r1_166,r2_166) := algebra.subsort(X_124,true,false);
     X_257 := algebra.leftfetchjoin(r1_166,X_122);
     X_128:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_257,X_91,X_90);
diff --git a/sql/benchmarks/tpch/Tests/10-plan.stable.out.int128 
b/sql/benchmarks/tpch/Tests/10-plan.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/10-plan.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/10-plan.stable.out.int128
@@ -83,7 +83,7 @@ top N (
 | | | | ) [ customer.c_custkey NOT NULL HASHCOL , nation.n_name NOT NULL ] [ 
customer.c_custkey NOT NULL HASHCOL , nation.n_name NOT NULL, sys.sum no nil 
(sys.sql_mul(decimal(33,2)[lineitem.l_extendedprice NOT NULL] as 
lineitem.l_extendedprice, sys.sql_sub(decimal(15,2)[tinyint "1"], 
lineitem.l_discount NOT NULL))) as L1.L1 ],
 | | | | table(sys.customer) [ customer.c_custkey NOT NULL HASHCOL  as 
L2.c_custkey, customer.c_name NOT NULL as L2.c_name, customer.c_address NOT 
NULL as L2.c_address, customer.c_phone NOT NULL as L2.c_phone, 
customer.c_acctbal NOT NULL as L2.c_acctbal, customer.c_comment NOT NULL as 
L2.c_comment ] COUNT 
 | | | ) [ customer.c_custkey NOT NULL = L2.c_custkey NOT NULL HASHCOL  FETCH  ]
-| | ) [ customer.c_custkey NOT NULL, L2.c_name NOT NULL as customer.c_name, 
L2.c_acctbal NOT NULL as customer.c_acctbal, L2.c_phone NOT NULL as 
customer.c_phone, nation.n_name NOT NULL, L2.c_address NOT NULL as 
customer.c_address, L2.c_comment NOT NULL as customer.c_comment, L1.L1 ]
+| | ) [ customer.c_custkey NOT NULL HASHCOL , L2.c_name NOT NULL as 
customer.c_name, L2.c_acctbal NOT NULL as customer.c_acctbal, L2.c_phone NOT 
NULL as customer.c_phone, nation.n_name NOT NULL, L2.c_address NOT NULL as 
customer.c_address, L2.c_comment NOT NULL as customer.c_comment, L1.L1 ]
 | ) [ customer.c_custkey NOT NULL, customer.c_name NOT NULL, L1 as L1.revenue, 
customer.c_acctbal NOT NULL, nation.n_name NOT NULL, customer.c_address NOT 
NULL, customer.c_phone NOT NULL, customer.c_comment NOT NULL ] [ L1.revenue ]
 ) [ wrd "20" ]
 
diff --git a/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
@@ -114,22 +114,21 @@ function user.s2_1{autoCommit=true}(A0:s
     X_95:bat[:oid,:hge]  := batcalc.hge(2,X_94,39,2);
     X_97 := algebra.leftfetchjoin(r1_127,X_79);
     X_98:bat[:oid,:hge]  := batcalc.*(X_95,X_97);
-    X_99 := algebra.selectNotNil(X_98);
-    X_100:hge  := aggr.sum(X_99);
-    X_101 := calc.*(X_100,A1);
-    X_102 := sql.single(X_101);
-    X_104:bat[:oid,:hge]  := batsql.dec_round(X_102,100:hge);
-    (X_105,r1_164) := algebra.thetajoin(X_82,X_104,1);
-    X_107 := algebra.tinter(X_60,X_105);
-    X_108 := algebra.leftfetchjoin(X_107,X_82);
-    (X_109,r1_168,r2_168) := algebra.subsort(X_108,true,false);
-    X_114:bat[:oid,:int]  := algebra.leftfetchjoinPath(r1_168,X_107,X_59);
-    X_115 := algebra.leftfetchjoin(r1_168,X_108);
-    X_116 := sql.resultSet(2,1,X_114);
-    sql.rsColumn(X_116,"sys.partsupp","ps_partkey","int",32,0,X_114);
-    sql.rsColumn(X_116,"sys.L1","value","decimal",39,2,X_115);
-    X_130 := io.stdout();
-    sql.exportResult(X_130,X_116);
+    X_99:hge  := aggr.sum(X_98);
+    X_100 := calc.*(X_99,A1);
+    X_101 := sql.single(X_100);
+    X_103:bat[:oid,:hge]  := batsql.dec_round(X_101,100:hge);
+    (X_104,r1_163) := algebra.thetajoin(X_82,X_103,1);
+    X_106 := algebra.tinter(X_60,X_104);
+    X_107 := algebra.leftfetchjoin(X_106,X_82);
+    (X_108,r1_167,r2_167) := algebra.subsort(X_107,true,false);
+    X_113:bat[:oid,:int]  := algebra.leftfetchjoinPath(r1_167,X_106,X_59);
+    X_114 := algebra.leftfetchjoin(r1_167,X_107);
+    X_115 := sql.resultSet(2,1,X_113);
+    sql.rsColumn(X_115,"sys.partsupp","ps_partkey","int",32,0,X_113);
+    sql.rsColumn(X_115,"sys.L1","value","decimal",39,2,X_114);
+    X_129 := io.stdout();
+    sql.exportResult(X_129,X_115);
 end s2_1;
 # querylog.define("explain select\n\tps_partkey,\n\tsum(ps_supplycost * 
ps_availqty) as 
value\nfrom\n\tpartsupp,\n\tsupplier,\n\tnation\nwhere\n\tps_suppkey = 
s_suppkey\n\tand s_nationkey = n_nationkey\n\tand n_name = \\'GERMANY\\'\ngroup 
by\n\tps_partkey \nhaving\n\tsum(ps_supplycost * ps_availqty) 
>\n\t(\n\t\tselect\n\t\t\tsum(ps_supplycost * ps_availqty) * 
0.0100000000\n\t\t\t-- The above constant needs to be adjusted 
according\n\t\t\t-- to the scale factor (SF): constant = 0.0001 / 
SF.\n\t\tfrom\n\t\t\tpartsupp,\n\t\t\tsupplier,\n\t\t\tnation\n\t\twhere\n\t\t\tps_suppkey
 = s_suppkey\n\t\t\tand s_nationkey = n_nationkey\n\t\t\tand n_name = 
\\'GERMANY\\'\n\t)\norder by\n\tvalue desc;","sequential_pipe")
 
diff --git a/sql/benchmarks/tpch/Tests/14-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
@@ -48,12 +48,12 @@ function user.s2_1{autoCommit=true}(A0:i
     X_14 := sql.bind(X_10,"sys","lineitem","l_shipdate",0);
     X_11:bat[:oid,:oid]  := sql.tid(X_10,"sys","lineitem");
     X_22 := mtime.addmonths(A6,A7);
-    X_114 := algebra.subselect(X_14,X_11,A5,X_22,true,false,false);
+    X_112 := algebra.subselect(X_14,X_11,A5,X_22,true,false,false);
     (X_17,r1_18) := sql.bind(X_10,"sys","lineitem","l_shipdate",2);
-    X_115 := algebra.subselect(r1_18,A5,X_22,true,false,false);
+    X_113 := algebra.subselect(r1_18,A5,X_22,true,false,false);
     X_20 := sql.bind(X_10,"sys","lineitem","l_shipdate",1);
-    X_116 := algebra.subselect(X_20,X_11,A5,X_22,true,false,false);
-    X_23 := sql.subdelta(X_114,X_11,X_17,X_115,X_116);
+    X_114 := algebra.subselect(X_20,X_11,A5,X_22,true,false,false);
+    X_23 := sql.subdelta(X_112,X_11,X_17,X_113,X_114);
     X_25 := sql.bind_idxbat(X_10,"sys","lineitem","lineitem_l_partkey_fkey",0);
     (X_27,r1_33) := 
sql.bind_idxbat(X_10,"sys","lineitem","lineitem_l_partkey_fkey",2);
     X_29 := sql.bind_idxbat(X_10,"sys","lineitem","lineitem_l_partkey_fkey",1);
@@ -84,17 +84,15 @@ function user.s2_1{autoCommit=true}(A0:i
     X_70:bat[:oid,:hge]  := batcalc.*(X_57,X_69);
     X_71 := calc.hge(A3,33,4);
     X_73:bat[:oid,:hge]  := batcalc.ifthenelse(X_45,X_70,X_71);
-    X_74 := algebra.selectNotNil(X_73);
-    X_75:hge  := aggr.sum(X_74);
-    X_76 := calc.hge(4,X_75,37,8);
-    X_80 := calc.lng(A4,15,2);
-    X_81:bat[:oid,:lng]  := batcalc.-(X_80,X_68);
-    X_82:bat[:oid,:hge]  := batcalc.*(X_57,X_81);
-    X_83 := algebra.selectNotNil(X_82);
-    X_84:hge  := aggr.sum(X_83);
-    X_85 := calc./(X_76,X_84);
-    X_86 := calc.*(A0,X_85);
-    sql.exportValue(1,".L2","promo_revenue","decimal",39,2,8,X_86,"");
+    X_74:hge  := aggr.sum(X_73);
+    X_75 := calc.hge(4,X_74,37,8);
+    X_79 := calc.lng(A4,15,2);
+    X_80:bat[:oid,:lng]  := batcalc.-(X_79,X_68);
+    X_81:bat[:oid,:hge]  := batcalc.*(X_57,X_80);
+    X_82:hge  := aggr.sum(X_81);
+    X_83 := calc./(X_75,X_82);
+    X_84 := calc.*(A0,X_83);
+    sql.exportValue(1,".L2","promo_revenue","decimal",39,2,8,X_84,"");
 end s2_1;
 # querylog.define("explain select\n\t100.00 * sum(case\n\t\twhen p_type like 
\\'PROMO%\\'\n\t\t\tthen l_extendedprice * (1 - l_discount)\n\t\telse 0\n\tend) 
/ sum(l_extendedprice * (1 - l_discount)) as 
promo_revenue\nfrom\n\tlineitem,\n\tpart\nwhere\n\tl_partkey = p_partkey\n\tand 
l_shipdate >= date \\'1995-09-01\\'\n\tand l_shipdate < date \\'1995-09-01\\' + 
interval \\'1\\' month;","sequential_pipe")
 
diff --git a/sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
@@ -104,39 +104,38 @@ function user.s3_1{autoCommit=true}():vo
     X_45 := algebra.leftfetchjoin(X_43,X_15);
     X_46 := bat.mirror(X_45);
     X_74 := algebra.leftfetchjoin(r1_46,X_72);
-    X_76 := algebra.selectNotNil(X_72);
-    X_77 := aggr.max(X_76);
-    X_78 := sql.single(X_77);
-    (X_79,r1_156) := algebra.join(X_74,X_78);
-    X_81 := algebra.tinter(X_46,X_79);
-    X_82 := algebra.leftfetchjoin(X_81,X_45);
-    (X_83,r1_160,r2_160) := algebra.subsort(X_82,false,false);
-    X_87 := algebra.leftfetchjoin(r1_160,X_82);
-    X_164 := algebra.leftfetchjoin(r1_160,X_81);
-    X_114:bat[:oid,:hge]  := algebra.leftfetchjoin(X_164,X_74);
-    X_107 := sql.bind(X_2,"sys","supplier","s_phone",0);
-    (X_109,r1_192) := sql.bind(X_2,"sys","supplier","s_phone",2);
-    X_111 := sql.bind(X_2,"sys","supplier","s_phone",1);
-    X_112 := sql.delta(X_107,X_109,r1_192,X_111);
-    X_113:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_164,X_43,X_3,X_112);
-    X_100 := sql.bind(X_2,"sys","supplier","s_address",0);
-    (X_102,r1_182) := sql.bind(X_2,"sys","supplier","s_address",2);
-    X_104 := sql.bind(X_2,"sys","supplier","s_address",1);
-    X_105 := sql.delta(X_100,X_102,r1_182,X_104);
-    X_106:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_164,X_43,X_3,X_105);
-    X_88 := sql.bind(X_2,"sys","supplier","s_name",0);
-    (X_92,r1_169) := sql.bind(X_2,"sys","supplier","s_name",2);
-    X_95 := sql.bind(X_2,"sys","supplier","s_name",1);
-    X_98 := sql.delta(X_88,X_92,r1_169,X_95);
-    X_99:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_164,X_43,X_3,X_98);
-    X_115 := sql.resultSet(5,1,X_87);
-    sql.rsColumn(X_115,"sys.supplier","s_suppkey","int",32,0,X_87);
-    sql.rsColumn(X_115,"sys.supplier","s_name","varchar",25,0,X_99);
-    sql.rsColumn(X_115,"sys.supplier","s_address","varchar",40,0,X_106);
-    sql.rsColumn(X_115,"sys.supplier","s_phone","varchar",15,0,X_113);
-    sql.rsColumn(X_115,"sys.revenue0","total_revenue","decimal",33,4,X_114);
-    X_138 := io.stdout();
-    sql.exportResult(X_138,X_115);
+    X_76 := aggr.max(X_72);
+    X_77 := sql.single(X_76);
+    (X_78,r1_155) := algebra.join(X_74,X_77);
+    X_80 := algebra.tinter(X_46,X_78);
+    X_81 := algebra.leftfetchjoin(X_80,X_45);
+    (X_82,r1_159,r2_159) := algebra.subsort(X_81,false,false);
+    X_86 := algebra.leftfetchjoin(r1_159,X_81);
+    X_163 := algebra.leftfetchjoin(r1_159,X_80);
+    X_113:bat[:oid,:hge]  := algebra.leftfetchjoin(X_163,X_74);
+    X_106 := sql.bind(X_2,"sys","supplier","s_phone",0);
+    (X_108,r1_191) := sql.bind(X_2,"sys","supplier","s_phone",2);
+    X_110 := sql.bind(X_2,"sys","supplier","s_phone",1);
+    X_111 := sql.delta(X_106,X_108,r1_191,X_110);
+    X_112:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_163,X_43,X_3,X_111);
+    X_98 := sql.bind(X_2,"sys","supplier","s_address",0);
+    (X_101,r1_181) := sql.bind(X_2,"sys","supplier","s_address",2);
+    X_103 := sql.bind(X_2,"sys","supplier","s_address",1);
+    X_104 := sql.delta(X_98,X_101,r1_181,X_103);
+    X_105:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_163,X_43,X_3,X_104);
+    X_87 := sql.bind(X_2,"sys","supplier","s_name",0);
+    (X_91,r1_168) := sql.bind(X_2,"sys","supplier","s_name",2);
+    X_94 := sql.bind(X_2,"sys","supplier","s_name",1);
+    X_96 := sql.delta(X_87,X_91,r1_168,X_94);
+    X_97:bat[:oid,:str]  := algebra.leftfetchjoinPath(X_163,X_43,X_3,X_96);
+    X_114 := sql.resultSet(5,1,X_86);
+    sql.rsColumn(X_114,"sys.supplier","s_suppkey","int",32,0,X_86);
+    sql.rsColumn(X_114,"sys.supplier","s_name","varchar",25,0,X_97);
+    sql.rsColumn(X_114,"sys.supplier","s_address","varchar",40,0,X_105);
+    sql.rsColumn(X_114,"sys.supplier","s_phone","varchar",15,0,X_112);
+    sql.rsColumn(X_114,"sys.revenue0","total_revenue","decimal",33,4,X_113);
+    X_137 := io.stdout();
+    sql.exportResult(X_137,X_114);
 end s3_1;
 # querylog.define("explain 
select\n\ts_suppkey,\n\ts_name,\n\ts_address,\n\ts_phone,\n\ttotal_revenue\nfrom\n\tsupplier,\n\trevenue0\nwhere\n\ts_suppkey
 = supplier_no\n\tand total_revenue = 
(\n\t\tselect\n\t\t\tmax(total_revenue)\n\t\tfrom\n\t\t\trevenue0\n\t)\norder 
by\n\ts_suppkey;","sequential_pipe")
 #drop view revenue0;
diff --git a/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 
b/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
@@ -50,70 +50,63 @@ Ready.
 function user.s2_1{autoCommit=true}(A0:bte,A1:str,A2:str,A3:dbl):void;
     X_6 := sql.mvc();
     X_7:bat[:oid,:oid]  := sql.tid(X_6,"sys","lineitem");
-    X_10 := sql.bind(X_6,"sys","lineitem","l_partkey",0);
-    (X_13,r1_13) := sql.bind(X_6,"sys","lineitem","l_partkey",2);
-    X_16 := sql.bind(X_6,"sys","lineitem","l_partkey",1);
+    X_10 := sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",0);
+    (X_13,r1_13) := 
sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",2);
+    X_16 := sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",1);
     X_18 := sql.projectdelta(X_7,X_10,X_13,r1_13,X_16);
-    X_19 := sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",0);
-    (X_21,r1_23) := 
sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",2);
-    X_23 := sql.bind_idxbat(X_6,"sys","lineitem","lineitem_l_partkey_fkey",1);
-    X_24 := sql.projectdelta(X_7,X_19,X_21,r1_23,X_23);
-    X_27 := sql.bind(X_6,"sys","part","p_container",0);
-    X_32 := sql.bind(X_6,"sys","part","p_brand",0);
-    X_25:bat[:oid,:oid]  := sql.tid(X_6,"sys","part");
-    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_141 := algebra.subselect(r1_40,A1,A1,true,true,false);
-    X_37 := sql.bind(X_6,"sys","part","p_brand",1);
-    X_142 := algebra.subselect(X_37,X_25,A1,A1,true,true,false);
-    X_38 := sql.subdelta(X_140,X_25,X_34,X_141,X_142);
-    X_143 := algebra.subselect(X_27,X_38,A2,A2,true,true,false);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to