Changeset: 9dbafdffea8b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9dbafdffea8b 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: mosaic Log Message:
Merged with default 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