Changeset: 041d7927d2e1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=041d7927d2e1
Modified Files:
sql/benchmarks/tpch/Tests/01-explain.stable.out
sql/benchmarks/tpch/Tests/01-plan.stable.out
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out
sql/benchmarks/tpch/Tests/03-plan.stable.out
sql/benchmarks/tpch/Tests/08-explain.stable.out
sql/benchmarks/tpch/Tests/08-plan.stable.out
sql/benchmarks/tpch/Tests/10-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/21-explain.stable.out
Branch: default
Log Message:
approved output. Plan changes because of stricter groupby/select expression
ordering. Explains changed because of plan and/or new topn implementation.
diffs (truncated from 1120 to 300 lines):
diff --git a/sql/benchmarks/tpch/Tests/01-explain.stable.out
b/sql/benchmarks/tpch/Tests/01-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/01-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/01-explain.stable.out
@@ -62,18 +62,18 @@ function user.s2_1{autoCommit=true}(A0:b
X_17 := sql.bind(X_7,"sys","lineitem","l_shipdate",1);
X_186 := algebra.thetasubselect(X_17,X_8,X_19,"<=");
X_20 := sql.subdelta(X_184,X_8,X_14,X_185,X_186);
- X_22 := sql.bind(X_7,"sys","lineitem","l_returnflag",0);
- (X_24,r1_28) := sql.bind(X_7,"sys","lineitem","l_returnflag",2);
- X_26 := sql.bind(X_7,"sys","lineitem","l_returnflag",1);
+ X_22 := sql.bind(X_7,"sys","lineitem","l_linestatus",0);
+ (X_24,r1_28) := sql.bind(X_7,"sys","lineitem","l_linestatus",2);
+ X_26 := sql.bind(X_7,"sys","lineitem","l_linestatus",1);
X_27 := sql.projectdelta(X_20,X_22,X_24,r1_28,X_26);
- X_28 := sql.bind(X_7,"sys","lineitem","l_linestatus",0);
- (X_30,r1_36) := sql.bind(X_7,"sys","lineitem","l_linestatus",2);
- X_32 := sql.bind(X_7,"sys","lineitem","l_linestatus",1);
+ X_28 := sql.bind(X_7,"sys","lineitem","l_returnflag",0);
+ (X_30,r1_36) := sql.bind(X_7,"sys","lineitem","l_returnflag",2);
+ X_32 := sql.bind(X_7,"sys","lineitem","l_returnflag",1);
X_33 := sql.projectdelta(X_20,X_28,X_30,r1_36,X_32);
(X_34,r1_42,r2_42) := group.subgroup(X_33);
(X_37,r1_45,r2_45) := group.subgroupdone(X_27,X_34);
- X_40 := algebra.leftfetchjoin(r1_45,X_33);
- X_41 := algebra.leftfetchjoin(r1_45,X_27);
+ X_40 := algebra.leftfetchjoin(r1_45,X_27);
+ X_41 := algebra.leftfetchjoin(r1_45,X_33);
X_51 := sql.bind(X_7,"sys","lineitem","l_quantity",0);
(X_56,r1_64) := sql.bind(X_7,"sys","lineitem","l_quantity",2);
X_59 := sql.bind(X_7,"sys","lineitem","l_quantity",1);
diff --git a/sql/benchmarks/tpch/Tests/01-plan.stable.out
b/sql/benchmarks/tpch/Tests/01-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/01-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/01-plan.stable.out
@@ -55,7 +55,7 @@ project (
| | select (
| | | table(sys.lineitem) [ lineitem.l_quantity NOT NULL,
lineitem.l_extendedprice NOT NULL, lineitem.l_discount NOT NULL, lineitem.l_tax
NOT NULL, lineitem.l_returnflag NOT NULL, lineitem.l_linestatus NOT NULL,
lineitem.l_shipdate NOT NULL ] COUNT
| | ) [ lineitem.l_shipdate NOT NULL <= sys.sql_sub(date "1998-12-01",
sec_interval(4) "7776000000") ]
-| ) [ lineitem.l_linestatus NOT NULL, lineitem.l_returnflag NOT NULL ] [
lineitem.l_returnflag NOT NULL, lineitem.l_linestatus NOT NULL, sys.sum no nil
(lineitem.l_quantity NOT NULL) NOT NULL as L1.L1, sys.sum no nil
(lineitem.l_extendedprice NOT NULL) NOT NULL as L2.L2, sys.sum no nil
(sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL))) as
L3.L3, sys.sum no nil (sys.sql_mul(sys.sql_mul(lineitem.l_extendedprice NOT
NULL, sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)),
sys.sql_add(decimal(15,2)[tinyint "1"], lineitem.l_tax NOT NULL))) as L4.L4,
sys.avg no nil (double[lineitem.l_quantity NOT NULL] as lineitem.l_quantity) as
L5.L5, sys.avg no nil (double[lineitem.l_extendedprice NOT NULL] as
lineitem.l_extendedprice) as L6.L6, sys.avg no nil (double[lineitem.l_discount
NOT NULL] as lineitem.l_discount) as L7.L7, sys.count() NOT NULL as L10.L10 ]
+| ) [ lineitem.l_returnflag NOT NULL, lineitem.l_linestatus NOT NULL ] [
lineitem.l_returnflag NOT NULL, lineitem.l_linestatus NOT NULL, sys.sum no nil
(lineitem.l_quantity NOT NULL) NOT NULL as L1.L1, sys.sum no nil
(lineitem.l_extendedprice NOT NULL) NOT NULL as L2.L2, sys.sum no nil
(sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL))) as
L3.L3, sys.sum no nil (sys.sql_mul(sys.sql_mul(lineitem.l_extendedprice NOT
NULL, sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)),
sys.sql_add(decimal(15,2)[tinyint "1"], lineitem.l_tax NOT NULL))) as L4.L4,
sys.avg no nil (double[lineitem.l_quantity NOT NULL] as lineitem.l_quantity) as
L5.L5, sys.avg no nil (double[lineitem.l_extendedprice NOT NULL] as
lineitem.l_extendedprice) as L6.L6, sys.avg no nil (double[lineitem.l_discount
NOT NULL] as lineitem.l_discount) as L7.L7, sys.count() NOT NULL as L10.L10 ]
) [ lineitem.l_returnflag NOT NULL, lineitem.l_linestatus NOT NULL, L1 NOT
NULL as L1.sum_qty, L2 NOT NULL as L2.sum_base_price, L3 as L3.sum_disc_price,
L4 as L4.sum_charge, L5 as L5.avg_qty, L6 as L6.avg_price, L7 as L7.avg_disc,
L10 NOT NULL as L10.count_order ] [ lineitem.l_returnflag ASC NOT NULL,
lineitem.l_linestatus ASC NOT NULL ]
# 22:46:28 >
diff --git a/sql/benchmarks/tpch/Tests/02-explain.stable.out
b/sql/benchmarks/tpch/Tests/02-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/02-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/02-explain.stable.out
@@ -74,12 +74,12 @@ function user.s2_1{autoCommit=true}(A0:i
X_18 := sql.projectdelta(X_7,X_10,X_13,r1_13,X_16);
X_21 := sql.bind(X_6,"sys","region","r_name",0);
X_19:bat[:oid,:oid] := sql.tid(X_6,"sys","region");
- X_326 := algebra.subselect(X_21,X_19,A3,A3,true,true,false);
+ X_336 := algebra.subselect(X_21,X_19,A3,A3,true,true,false);
(X_23,r1_24) := sql.bind(X_6,"sys","region","r_name",2);
- X_327 := algebra.subselect(r1_24,A3,A3,true,true,false);
+ X_337 := algebra.subselect(r1_24,A3,A3,true,true,false);
X_25 := sql.bind(X_6,"sys","region","r_name",1);
- X_328 := algebra.subselect(X_25,X_19,A3,A3,true,true,false);
- X_26 := sql.subdelta(X_326,X_19,X_23,X_327,X_328);
+ X_338 := algebra.subselect(X_25,X_19,A3,A3,true,true,false);
+ X_26 := sql.subdelta(X_336,X_19,X_23,X_337,X_338);
X_28 := X_26;
(X_29,r1_33) := algebra.join(X_18,X_28);
X_31 := algebra.leftfetchjoin(X_29,X_7);
@@ -108,18 +108,18 @@ function user.s2_1{autoCommit=true}(A0:i
X_73 := sql.bind(X_6,"sys","part","p_type",0);
X_79 := sql.bind(X_6,"sys","part","p_size",0);
X_71:bat[:oid,:oid] := sql.tid(X_6,"sys","part");
- X_329 := algebra.subselect(X_79,X_71,A0,A0,true,true,false);
+ X_339 := algebra.subselect(X_79,X_71,A0,A0,true,true,false);
(X_82,r1_95) := sql.bind(X_6,"sys","part","p_size",2);
- X_330 := algebra.subselect(r1_95,A0,A0,true,true,false);
+ X_340 := algebra.subselect(r1_95,A0,A0,true,true,false);
X_85 := sql.bind(X_6,"sys","part","p_size",1);
- X_331 := algebra.subselect(X_85,X_71,A0,A0,true,true,false);
- X_87 := sql.subdelta(X_329,X_71,X_82,X_330,X_331);
- X_332 := algebra.likesubselect(X_73,X_87,A1,"",false);
+ X_341 := algebra.subselect(X_85,X_71,A0,A0,true,true,false);
+ X_87 := sql.subdelta(X_339,X_71,X_82,X_340,X_341);
+ X_342 := algebra.likesubselect(X_73,X_87,A1,"",false);
(X_75,r1_84) := sql.bind(X_6,"sys","part","p_type",2);
- X_333 := algebra.likesubselect(r1_84,A1,"",false);
+ X_343 := algebra.likesubselect(r1_84,A1,"",false);
X_77 := sql.bind(X_6,"sys","part","p_type",1);
- X_334 := algebra.likesubselect(X_77,X_87,A1,"",false);
- X_90 := sql.subdelta(X_332,X_87,X_75,X_333,X_334);
+ X_344 := algebra.likesubselect(X_77,X_87,A1,"",false);
+ X_90 := sql.subdelta(X_342,X_87,X_75,X_343,X_344);
X_91 := X_90;
(X_92,r1_108) := algebra.join(X_70,X_91);
X_95 := algebra.leftfetchjoin(X_92,X_54);
@@ -134,101 +134,101 @@ function user.s2_1{autoCommit=true}(A0:i
X_112 := algebra.leftfetchjoin(r1_134,X_111);
X_116 := sql.bind(X_6,"sys","region","r_name",0);
X_113:bat[:oid,:oid] := sql.tid(X_6,"sys","region");
- X_335 := algebra.subselect(X_116,X_113,A2,A2,true,true,false);
+ X_345 := algebra.subselect(X_116,X_113,A2,A2,true,true,false);
(X_118,r1_152) := sql.bind(X_6,"sys","region","r_name",2);
- X_336 := algebra.subselect(r1_152,A2,A2,true,true,false);
+ X_346 := algebra.subselect(r1_152,A2,A2,true,true,false);
X_120 := sql.bind(X_6,"sys","region","r_name",1);
- X_337 := algebra.subselect(X_120,X_113,A2,A2,true,true,false);
- X_121 := sql.subdelta(X_335,X_113,X_118,X_336,X_337);
+ X_347 := algebra.subselect(X_120,X_113,A2,A2,true,true,false);
+ X_121 := sql.subdelta(X_345,X_113,X_118,X_346,X_347);
X_124 := X_121;
(X_125,r1_162) := algebra.join(X_112,X_124);
- X_338 := algebra.leftfetchjoin(X_125,X_101);
+ X_348 := algebra.leftfetchjoin(X_125,X_101);
X_127 := sql.bind(X_6,"sys","part","p_partkey",0);
(X_130,r1_167) := sql.bind(X_6,"sys","part","p_partkey",2);
X_132 := sql.bind(X_6,"sys","part","p_partkey",1);
X_133 := sql.projectdelta(X_90,X_127,X_130,r1_167,X_132);
- X_134:bat[:oid,:int] :=
algebra.leftfetchjoinPath(X_338,X_96,r1_108,X_133);
+ X_134:bat[:oid,:int] :=
algebra.leftfetchjoinPath(X_348,X_96,r1_108,X_133);
(X_135,r1_177) := algebra.join(X_63,X_134);
X_137:bat[:oid,:oid] := batcalc.identity(X_134);
X_138 := algebra.leftfetchjoin(r1_177,X_137);
(X_139,r1_183,r2_183) := group.subgroupdone(X_138);
- X_339 := algebra.leftfetchjoin(r1_183,r1_177);
+ X_349 := algebra.leftfetchjoin(r1_183,r1_177);
X_142 := sql.bind(X_6,"sys","partsupp","ps_supplycost",0);
(X_147,r1_191) := sql.bind(X_6,"sys","partsupp","ps_supplycost",2);
X_150 := sql.bind(X_6,"sys","partsupp","ps_supplycost",1);
X_152 := sql.projectdelta(X_44,X_142,X_147,r1_191,X_150);
X_154:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_135,r1_61,X_152);
X_155:bat[:oid,:lng] := aggr.submin(X_154,X_139,r1_183,true);
- X_153:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_339,X_125,X_101,X_96,X_92,X_152);
+ X_153:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_349,X_125,X_101,X_96,X_92,X_152);
X_157:bat[:oid,:bit] := batcalc.==(X_153,X_155);
X_158 := algebra.subselect(X_157,true,true,true,true,false);
- X_340 := algebra.leftfetchjoin(X_158,r1_183);
- X_160 := sql.bind(X_6,"sys","supplier","s_acctbal",0);
- (X_165,r1_224) := sql.bind(X_6,"sys","supplier","s_acctbal",2);
- X_168 := sql.bind(X_6,"sys","supplier","s_acctbal",1);
- X_170 := sql.projectdelta(X_32,X_160,X_165,r1_224,X_168);
- X_171:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_340,r1_177,X_125,X_101,r1_122,X_170);
- X_172 := pqueue.utopn_min(X_171,100:wrd);
- X_173 := bat.mirror(X_172);
- X_174 := sql.bind(X_6,"sys","nation","n_name",0);
- (X_177,r1_247) := sql.bind(X_6,"sys","nation","n_name",2);
- X_179 := sql.bind(X_6,"sys","nation","n_name",1);
- X_180 := sql.projectdelta(X_99,X_174,X_177,r1_247,X_179);
- X_181:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_340,r1_177,X_125,r1_134,X_180);
- X_182 := algebra.leftjoin(X_173,X_181);
- X_183 := pqueue.utopn_max(X_172,X_182,100:wrd);
- X_184 := bat.mirror(X_183);
- X_185 := sql.bind(X_6,"sys","supplier","s_name",0);
- (X_190,r1_267) := sql.bind(X_6,"sys","supplier","s_name",2);
- X_193 := sql.bind(X_6,"sys","supplier","s_name",1);
- X_195 := sql.projectdelta(X_32,X_185,X_190,r1_267,X_193);
- X_196:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_340,r1_177,X_125,X_101,r1_122,X_195);
- X_197 := algebra.leftjoin(X_184,X_196);
- X_199 := pqueue.utopn_max(X_183,X_197,100:wrd);
- X_200 := bat.mirror(X_199);
- X_201:bat[:oid,:int] := algebra.leftfetchjoinPath(X_340,r1_177,X_134);
- X_202 := algebra.leftjoin(X_200,X_201);
- X_203 := pqueue.topn_max(X_199,X_202,100:wrd);
- X_205 := algebra.markT(X_203,0@0);
- X_206 := bat.reverse(X_205);
- X_213 := sql.bind(X_6,"sys","part","p_mfgr",0);
- (X_218,r1_316) := sql.bind(X_6,"sys","part","p_mfgr",2);
- X_221 := sql.bind(X_6,"sys","part","p_mfgr",1);
- X_223 := sql.projectdelta(X_90,X_213,X_218,r1_316,X_221);
- X_207 := algebra.leftfetchjoin(X_206,X_171);
- X_208 := algebra.subslice(X_207,0:wrd,99:wrd);
- X_341 := algebra.leftfetchjoin(X_208,X_206);
- X_224:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_341,X_158,r1_183,r1_177,X_125,X_101,X_96,r1_108,X_223);
- X_225 := sql.bind(X_6,"sys","supplier","s_address",0);
- (X_228,r1_336) := sql.bind(X_6,"sys","supplier","s_address",2);
- X_230 := sql.bind(X_6,"sys","supplier","s_address",1);
- X_231 := sql.projectdelta(X_32,X_225,X_228,r1_336,X_230);
- X_232:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_341,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_231);
- X_233 := sql.bind(X_6,"sys","supplier","s_phone",0);
- (X_237,r1_353) := sql.bind(X_6,"sys","supplier","s_phone",2);
- X_240 := sql.bind(X_6,"sys","supplier","s_phone",1);
- X_242 := sql.projectdelta(X_32,X_233,X_237,r1_353,X_240);
- X_243:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_341,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_242);
- X_244 := sql.bind(X_6,"sys","supplier","s_comment",0);
- (X_247,r1_371) := sql.bind(X_6,"sys","supplier","s_comment",2);
- X_249 := sql.bind(X_6,"sys","supplier","s_comment",1);
- X_250 := sql.projectdelta(X_32,X_244,X_247,r1_371,X_249);
- X_251:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_341,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_250);
- X_209 := algebra.leftfetchjoin(X_208,X_207);
- X_212:bat[:oid,:int] := algebra.leftfetchjoin(X_341,X_201);
- X_211:bat[:oid,:str] := algebra.leftfetchjoin(X_341,X_181);
- X_210:bat[:oid,:str] := algebra.leftfetchjoin(X_341,X_196);
- X_252 := sql.resultSet(8,1,X_209);
- sql.rsColumn(X_252,"sys.supplier","s_acctbal","decimal",15,2,X_209);
- sql.rsColumn(X_252,"sys.supplier","s_name","varchar",25,0,X_210);
- sql.rsColumn(X_252,"sys.nation","n_name","varchar",25,0,X_211);
- sql.rsColumn(X_252,"sys.part","p_partkey","int",32,0,X_212);
- sql.rsColumn(X_252,"sys.part","p_mfgr","varchar",25,0,X_224);
- sql.rsColumn(X_252,"sys.supplier","s_address","varchar",40,0,X_232);
- sql.rsColumn(X_252,"sys.supplier","s_phone","varchar",15,0,X_243);
- sql.rsColumn(X_252,"sys.supplier","s_comment","varchar",101,0,X_251);
- X_283 := io.stdout();
- sql.exportResult(X_283,X_252);
+ X_350 := algebra.leftfetchjoin(X_158,r1_183);
+ r1_285:bat[:oid,:int] := algebra.leftfetchjoinPath(X_350,r1_177,X_134);
+ X_161 := sql.bind(X_6,"sys","supplier","s_name",0);
+ (X_166,r1_227) := sql.bind(X_6,"sys","supplier","s_name",2);
+ X_169 := sql.bind(X_6,"sys","supplier","s_name",1);
+ X_171 := sql.projectdelta(X_32,X_161,X_166,r1_227,X_169);
+ X_172:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_350,r1_177,X_125,X_101,r1_122,X_171);
+ X_173 := sql.bind(X_6,"sys","nation","n_name",0);
+ (X_176,r1_243) := sql.bind(X_6,"sys","nation","n_name",2);
+ X_178 := sql.bind(X_6,"sys","nation","n_name",1);
+ X_179 := sql.projectdelta(X_99,X_173,X_176,r1_243,X_178);
+ X_180:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_350,r1_177,X_125,r1_134,X_179);
+ X_181 := sql.bind(X_6,"sys","supplier","s_acctbal",0);
+ (X_183,r1_255) := sql.bind(X_6,"sys","supplier","s_acctbal",2);
+ X_187 := sql.bind(X_6,"sys","supplier","s_acctbal",1);
+ X_188 := sql.projectdelta(X_32,X_181,X_183,r1_255,X_187);
+ X_189:bat[:oid,:lng] :=
algebra.leftfetchjoinPath(X_350,r1_177,X_125,X_101,r1_122,X_188);
+ (X_190,r1_273) := pqueue.topn_min(X_189,100:wrd);
+ (X_192,r1_277) := pqueue.topn_max(X_180,X_190,r1_273,100:wrd);
+ (X_194,r1_281) := pqueue.topn_max(X_172,X_192,r1_277,100:wrd);
+ X_196 := pqueue.topn_max(r1_285,X_194,r1_281,100:wrd);
+ X_223 := sql.bind(X_6,"sys","part","p_mfgr",0);
+ (X_228,r1_325) := sql.bind(X_6,"sys","part","p_mfgr",2);
+ X_231 := sql.bind(X_6,"sys","part","p_mfgr",1);
+ X_232 := sql.projectdelta(X_90,X_223,X_228,r1_325,X_231);
+ X_197 := algebra.leftfetchjoin(X_196,r1_285);
+ X_198 := algebra.leftfetchjoin(X_196,X_172);
+ X_199 := algebra.leftfetchjoin(X_196,X_180);
+ X_200 := algebra.leftfetchjoin(X_196,X_189);
+ (X_201,r1_290,r2_290) := algebra.subsort(X_200,true,false);
+ (X_206,r1_295,r2_295) := algebra.subsort(X_199,r1_290,r2_290,false,false);
+ (X_209,r1_298,r2_298) := algebra.subsort(X_198,r1_295,r2_295,false,false);
+ (X_212,r1_301,r2_301) := algebra.subsort(X_197,r1_298,r2_298,false,false);
+ X_215 := algebra.leftfetchjoin(r1_301,X_200);
+ X_218 := algebra.subslice(X_215,0:wrd,99:wrd);
+ X_351 := algebra.leftfetchjoin(X_218,r1_301);
+ X_233:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_351,X_196,X_158,r1_183,r1_177,X_125,X_101,X_96,r1_108,X_232);
+ X_234 := sql.bind(X_6,"sys","supplier","s_address",0);
+ (X_237,r1_345) := sql.bind(X_6,"sys","supplier","s_address",2);
+ X_239 := sql.bind(X_6,"sys","supplier","s_address",1);
+ X_241 := sql.projectdelta(X_32,X_234,X_237,r1_345,X_239);
+ X_242:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_351,X_196,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_241);
+ X_243 := sql.bind(X_6,"sys","supplier","s_phone",0);
+ (X_247,r1_364) := sql.bind(X_6,"sys","supplier","s_phone",2);
+ X_250 := sql.bind(X_6,"sys","supplier","s_phone",1);
+ X_251 := sql.projectdelta(X_32,X_243,X_247,r1_364,X_250);
+ X_252:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_351,X_196,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_251);
+ X_253 := sql.bind(X_6,"sys","supplier","s_comment",0);
+ (X_256,r1_382) := sql.bind(X_6,"sys","supplier","s_comment",2);
+ X_258 := sql.bind(X_6,"sys","supplier","s_comment",1);
+ X_260 := sql.projectdelta(X_32,X_253,X_256,r1_382,X_258);
+ X_261:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_351,X_196,X_158,r1_183,r1_177,X_125,X_101,r1_122,X_260);
+ X_219 := algebra.leftfetchjoin(X_218,X_215);
+ X_222:bat[:oid,:int] := algebra.leftfetchjoin(X_351,X_197);
+ X_221:bat[:oid,:str] := algebra.leftfetchjoin(X_351,X_199);
+ X_220:bat[:oid,:str] := algebra.leftfetchjoin(X_351,X_198);
+ X_262 := sql.resultSet(8,1,X_219);
+ sql.rsColumn(X_262,"sys.supplier","s_acctbal","decimal",15,2,X_219);
+ sql.rsColumn(X_262,"sys.supplier","s_name","varchar",25,0,X_220);
+ sql.rsColumn(X_262,"sys.nation","n_name","varchar",25,0,X_221);
+ sql.rsColumn(X_262,"sys.part","p_partkey","int",32,0,X_222);
+ sql.rsColumn(X_262,"sys.part","p_mfgr","varchar",25,0,X_233);
+ sql.rsColumn(X_262,"sys.supplier","s_address","varchar",40,0,X_242);
+ sql.rsColumn(X_262,"sys.supplier","s_phone","varchar",15,0,X_252);
+ sql.rsColumn(X_262,"sys.supplier","s_comment","varchar",101,0,X_261);
+ X_293 := io.stdout();
+ sql.exportResult(X_293,X_262);
end s2_1;
# querylog.define("explain
select\n\ts_acctbal,\n\ts_name,\n\tn_name,\n\tp_partkey,\n\tp_mfgr,\n\ts_address,\n\ts_phone,\n\ts_comment\nfrom\n\tpart,\n\tsupplier,\n\tpartsupp,\n\tnation,\n\tregion\nwhere\n\tp_partkey
= ps_partkey\n\tand s_suppkey = ps_suppkey\n\tand p_size = 15\n\tand p_type
like \\'%BRASS\\'\n\tand s_nationkey = n_nationkey\n\tand n_regionkey =
r_regionkey\n\tand r_name = \\'EUROPE\\'\n\tand ps_supplycost =
(\n\t\tselect\n\t\t\tmin(ps_supplycost)\n\t\tfrom\n\t\t\tpartsupp,\n\t\t\tsupplier,\n\t\t\tnation,\n\t\t\tregion\n\t\twhere\n\t\t\tp_partkey
= ps_partkey\n\t\t\tand s_suppkey = ps_suppkey\n\t\t\tand s_nationkey =
n_nationkey\n\t\t\tand n_regionkey = r_regionkey\n\t\t\tand r_name =
\\'EUROPE\\'\n\t)\norder by\n\ts_acctbal
desc,\n\tn_name,\n\ts_name,\n\tp_partkey\nlimit 100;","sequential_pipe")
diff --git a/sql/benchmarks/tpch/Tests/03-explain.stable.out
b/sql/benchmarks/tpch/Tests/03-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/03-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/03-explain.stable.out
@@ -57,93 +57,93 @@ function user.s2_1{autoCommit=true}(A0:b
X_6 := sql.mvc();
X_10 := sql.bind(X_6,"sys","orders","o_orderdate",0);
X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","orders");
- X_179 := algebra.thetasubselect(X_10,X_7,A2,"<");
+ X_188 := algebra.thetasubselect(X_10,X_7,A2,"<");
(X_13,r1_13) := sql.bind(X_6,"sys","orders","o_orderdate",2);
- X_180 := algebra.thetasubselect(r1_13,A2,"<");
+ X_189 := algebra.thetasubselect(r1_13,A2,"<");
X_16 := sql.bind(X_6,"sys","orders","o_orderdate",1);
- X_181 := algebra.thetasubselect(X_16,X_7,A2,"<");
- X_18 := sql.subdelta(X_179,X_7,X_13,X_180,X_181);
+ X_190 := algebra.thetasubselect(X_16,X_7,A2,"<");
+ X_18 := sql.subdelta(X_188,X_7,X_13,X_189,X_190);
X_20 := sql.bind_idxbat(X_6,"sys","orders","orders_o_custkey_fkey",0);
(X_22,r1_25) :=
sql.bind_idxbat(X_6,"sys","orders","orders_o_custkey_fkey",2);
X_24 := sql.bind_idxbat(X_6,"sys","orders","orders_o_custkey_fkey",1);
X_25 := sql.projectdelta(X_18,X_20,X_22,r1_25,X_24);
X_28 := sql.bind(X_6,"sys","customer","c_mktsegment",0);
X_26:bat[:oid,:oid] := sql.tid(X_6,"sys","customer");
- X_182 := algebra.subselect(X_28,X_26,A1,A1,true,true,false);
+ X_191 := algebra.subselect(X_28,X_26,A1,A1,true,true,false);
(X_30,r1_35) := sql.bind(X_6,"sys","customer","c_mktsegment",2);
- X_183 := algebra.subselect(r1_35,A1,A1,true,true,false);
+ X_192 := algebra.subselect(r1_35,A1,A1,true,true,false);
X_32 := sql.bind(X_6,"sys","customer","c_mktsegment",1);
- X_184 := algebra.subselect(X_32,X_26,A1,A1,true,true,false);
- X_33 := sql.subdelta(X_182,X_26,X_30,X_183,X_184);
+ X_193 := algebra.subselect(X_32,X_26,A1,A1,true,true,false);
+ X_33 := sql.subdelta(X_191,X_26,X_30,X_192,X_193);
X_36 := X_33;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list