Changeset: 40d2e5b14efe for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=40d2e5b14efe
Modified Files:
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/02-plan.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out
sql/benchmarks/tpch/Tests/17-plan.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out
sql/benchmarks/tpch/Tests/20-plan.stable.out
sql/server/rel_optimizer.c
Branch: Oct2014
Log Message:
only push down group by's down outer-joins (not usualy size reducing joins)
diffs (truncated from 843 to 300 lines):
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
@@ -67,167 +67,168 @@ Ready.
% 823 # length
function user.s2_1{autoCommit=true}(A0:int,A1:str,A2:str,A3:str):void;
X_6 := sql.mvc();
- X_10 := sql.bind(X_6,"sys","part","p_type",0);
- X_19 := sql.bind(X_6,"sys","part","p_size",0);
- X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","part");
- X_334 := algebra.subselect(X_19,X_7,A0,A0,true,true,false);
- (X_21,r1_25) := sql.bind(X_6,"sys","part","p_size",2);
- X_335 := algebra.subselect(r1_25,A0,A0,true,true,false);
- X_23 := sql.bind(X_6,"sys","part","p_size",1);
- X_336 := algebra.subselect(X_23,X_7,A0,A0,true,true,false);
- X_24 := sql.subdelta(X_334,X_7,X_21,X_335,X_336);
- X_337 := algebra.likesubselect(X_10,X_24,A1,"",false);
- (X_13,r1_13) := sql.bind(X_6,"sys","part","p_type",2);
- X_338 := algebra.likesubselect(r1_13,A1,"",false);
- X_16 := sql.bind(X_6,"sys","part","p_type",1);
- X_339 := algebra.likesubselect(X_16,X_24,A1,"",false);
- X_26 := sql.subdelta(X_337,X_24,X_13,X_338,X_339);
- X_27 := sql.bind(X_6,"sys","part","p_partkey",0);
- (X_29,r1_36) := sql.bind(X_6,"sys","part","p_partkey",2);
- X_31 := sql.bind(X_6,"sys","part","p_partkey",1);
- X_32 := sql.projectdelta(X_26,X_27,X_29,r1_36,X_31);
- X_33:bat[:oid,:oid] := sql.tid(X_6,"sys","nation");
- X_36 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",0);
- (X_39,r1_48) :=
sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",2);
- X_42 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",1);
- X_44 := sql.projectdelta(X_33,X_36,X_39,r1_48,X_42);
- X_47 := sql.bind(X_6,"sys","region","r_name",0);
- X_45:bat[:oid,:oid] := sql.tid(X_6,"sys","region");
- X_340 := algebra.subselect(X_47,X_45,A3,A3,true,true,false);
- (X_49,r1_59) := sql.bind(X_6,"sys","region","r_name",2);
- X_341 := algebra.subselect(r1_59,A3,A3,true,true,false);
- X_51 := sql.bind(X_6,"sys","region","r_name",1);
- X_342 := algebra.subselect(X_51,X_45,A3,A3,true,true,false);
- X_52 := sql.subdelta(X_340,X_45,X_49,X_341,X_342);
- X_55 := X_52;
- (X_56,r1_69) := algebra.join(X_44,X_55);
- X_58 := algebra.leftfetchjoin(X_56,X_33);
- X_59:bat[:oid,:oid] := sql.tid(X_6,"sys","supplier");
- X_61 :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",0);
- (X_63,r1_76) :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",2);
- X_66 :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",1);
- X_67 := sql.projectdelta(X_59,X_61,X_63,r1_76,X_66);
- (X_68,r1_82) := algebra.join(X_58,X_67);
- X_70 := algebra.leftfetchjoin(r1_82,X_59);
- X_71:bat[:oid,:oid] := sql.tid(X_6,"sys","partsupp");
- X_73 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",0);
- (X_76,r1_90) :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",2);
- X_79 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",1);
- X_81 := sql.projectdelta(X_71,X_73,X_76,r1_90,X_79);
- (X_82,r1_97) := algebra.join(X_70,X_81);
- X_84 := sql.bind(X_6,"sys","partsupp","ps_partkey",0);
- (X_86,r1_101) := sql.bind(X_6,"sys","partsupp","ps_partkey",2);
- X_88 := sql.bind(X_6,"sys","partsupp","ps_partkey",1);
- X_89 := sql.projectdelta(X_71,X_84,X_86,r1_101,X_88);
- X_90 := algebra.leftfetchjoin(r1_97,X_89);
- (X_91,r1_107,r2_107) := group.subgroupdone(X_90);
- X_94 := algebra.leftfetchjoin(r1_107,X_90);
- X_109 := sql.bind(X_6,"sys","partsupp","ps_supplycost",0);
- (X_112,r1_130) := sql.bind(X_6,"sys","partsupp","ps_supplycost",2);
- X_115 := sql.bind(X_6,"sys","partsupp","ps_supplycost",1);
- X_117 := sql.projectdelta(X_71,X_109,X_112,r1_130,X_115);
- X_119 := algebra.leftfetchjoin(r1_97,X_117);
- X_120:bat[:oid,:lng] := aggr.submin(X_119,X_91,r1_107,true);
- (X_95,r1_111) := algebra.join(X_32,X_94);
- X_97 := X_26;
- X_98 := algebra.leftfetchjoin(X_95,X_97);
- X_100 :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",0);
- (X_102,r1_119) :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",2);
- X_105 :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",1);
- X_106 := sql.projectdelta(X_71,X_100,X_102,r1_119,X_105);
- (X_107,r1_125) := algebra.join(X_98,X_106);
- X_118 := algebra.leftfetchjoin(r1_125,X_117);
- X_122:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_107,r1_111,X_120);
- X_123:bat[:oid,:bit] := batcalc.==(X_118,X_122);
- X_124 := algebra.subselect(X_123,true,true,true,true,false);
- X_127:bat[:oid,:oid] := algebra.leftfetchjoinPath(X_124,r1_125,X_81);
- (X_128,r1_167) := algebra.join(X_127,X_59);
- X_133 := algebra.leftfetchjoin(r1_167,X_67);
- X_134:bat[:oid,:oid] := sql.tid(X_6,"sys","nation");
- (X_136,r1_182) := algebra.join(X_133,X_134);
- X_138 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",0);
- (X_140,r1_186) :=
sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",2);
- X_142 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",1);
- X_144 := sql.projectdelta(X_134,X_138,X_140,r1_186,X_142);
- X_145 := algebra.leftfetchjoin(r1_182,X_144);
- X_148 := sql.bind(X_6,"sys","region","r_name",0);
- X_146:bat[:oid,:oid] := sql.tid(X_6,"sys","region");
- X_343 := algebra.subselect(X_148,X_146,A2,A2,true,true,false);
- (X_150,r1_197) := sql.bind(X_6,"sys","region","r_name",2);
- X_344 := algebra.subselect(r1_197,A2,A2,true,true,false);
- X_152 := sql.bind(X_6,"sys","region","r_name",1);
- X_345 := algebra.subselect(X_152,X_146,A2,A2,true,true,false);
- X_153 := sql.subdelta(X_343,X_146,X_150,X_344,X_345);
- X_156 := X_153;
- (X_157,r1_207) := algebra.join(X_145,X_156);
- X_346 := algebra.leftfetchjoin(X_157,X_136);
- X_159 := algebra.leftfetchjoin(X_124,X_107);
- X_160:bat[:oid,:int] :=
algebra.leftfetchjoinPath(X_346,X_128,X_159,X_95,X_32);
+ X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","nation");
+ X_10 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",0);
+ (X_13,r1_13) :=
sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",2);
+ X_16 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",1);
+ 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_337 := 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_338 := algebra.subselect(r1_24,A3,A3,true,true,false);
+ X_25 := sql.bind(X_6,"sys","region","r_name",1);
+ X_339 := algebra.subselect(X_25,X_19,A3,A3,true,true,false);
+ X_26 := sql.subdelta(X_337,X_19,X_23,X_338,X_339);
+ X_28 := X_26;
+ (X_29,r1_33) := algebra.join(X_18,X_28);
+ X_31 := algebra.leftfetchjoin(X_29,X_7);
+ X_32:bat[:oid,:oid] := sql.tid(X_6,"sys","supplier");
+ X_34 :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",0);
+ (X_36,r1_40) :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",2);
+ X_39 :=
sql.bind_idxbat(X_6,"sys","supplier","supplier_s_nationkey_fkey",1);
+ X_40 := sql.projectdelta(X_32,X_34,X_36,r1_40,X_39);
+ (X_41,r1_46) := algebra.join(X_31,X_40);
+ X_43 := algebra.leftfetchjoin(r1_46,X_32);
+ X_44:bat[:oid,:oid] := sql.tid(X_6,"sys","partsupp");
+ X_46 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",0);
+ (X_49,r1_54) :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",2);
+ X_52 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_suppkey_fkey",1);
+ X_54 := sql.projectdelta(X_44,X_46,X_49,r1_54,X_52);
+ (X_55,r1_61) := algebra.join(X_43,X_54);
+ X_57 := sql.bind(X_6,"sys","partsupp","ps_partkey",0);
+ (X_59,r1_65) := sql.bind(X_6,"sys","partsupp","ps_partkey",2);
+ X_61 := sql.bind(X_6,"sys","partsupp","ps_partkey",1);
+ X_62 := sql.projectdelta(X_44,X_57,X_59,r1_65,X_61);
+ X_63 := algebra.leftfetchjoin(r1_61,X_62);
+ X_64 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",0);
+ (X_66,r1_74) :=
sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",2);
+ X_69 := sql.bind_idxbat(X_6,"sys","partsupp","partsupp_ps_partkey_fkey",1);
+ X_70 := sql.projectdelta(X_44,X_64,X_66,r1_74,X_69);
+ 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_340 := 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_341 := algebra.subselect(r1_95,A0,A0,true,true,false);
+ X_85 := sql.bind(X_6,"sys","part","p_size",1);
+ X_342 := algebra.subselect(X_85,X_71,A0,A0,true,true,false);
+ X_87 := sql.subdelta(X_340,X_71,X_82,X_341,X_342);
+ X_343 := algebra.likesubselect(X_73,X_87,A1,"",false);
+ (X_75,r1_84) := sql.bind(X_6,"sys","part","p_type",2);
+ X_344 := algebra.likesubselect(r1_84,A1,"",false);
+ X_77 := sql.bind(X_6,"sys","part","p_type",1);
+ X_345 := algebra.likesubselect(X_77,X_87,A1,"",false);
+ X_90 := sql.subdelta(X_343,X_87,X_75,X_344,X_345);
+ X_91 := X_90;
+ (X_92,r1_108) := algebra.join(X_70,X_91);
+ X_95 := algebra.leftfetchjoin(X_92,X_54);
+ (X_96,r1_122) := algebra.join(X_95,X_32);
+ X_98 := algebra.leftfetchjoin(r1_122,X_40);
+ X_99:bat[:oid,:oid] := sql.tid(X_6,"sys","nation");
+ (X_101,r1_134) := algebra.join(X_98,X_99);
+ X_103 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",0);
+ (X_106,r1_139) :=
sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",2);
+ X_109 := sql.bind_idxbat(X_6,"sys","nation","nation_n_regionkey_fkey",1);
+ X_111 := sql.projectdelta(X_99,X_103,X_106,r1_139,X_109);
+ 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_346 := 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_347 := algebra.subselect(r1_152,A2,A2,true,true,false);
+ X_120 := sql.bind(X_6,"sys","region","r_name",1);
+ X_348 := algebra.subselect(X_120,X_113,A2,A2,true,true,false);
+ X_121 := sql.subdelta(X_346,X_113,X_118,X_347,X_348);
+ X_124 := X_121;
+ (X_125,r1_162) := algebra.join(X_112,X_124);
+ X_349 := 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_349,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_350 := 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_350,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_351 := algebra.leftfetchjoin(X_158,r1_183);
+ X_160:bat[:oid,:int] := algebra.leftfetchjoinPath(X_351,r1_177,X_134);
X_161 := sql.bind(X_6,"sys","supplier","s_name",0);
- (X_165,r1_219) := sql.bind(X_6,"sys","supplier","s_name",2);
- X_168 := sql.bind(X_6,"sys","supplier","s_name",1);
- X_171 := sql.projectdelta(X_59,X_161,X_165,r1_219,X_168);
- X_172:bat[:oid,:str] := algebra.leftfetchjoinPath(X_346,r1_167,X_171);
+ (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_351,r1_177,X_125,X_101,r1_122,X_171);
X_173 := sql.bind(X_6,"sys","nation","n_name",0);
- (X_176,r1_233) := sql.bind(X_6,"sys","nation","n_name",2);
+ (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_134,X_173,X_176,r1_233,X_178);
- X_180:bat[:oid,:str] := algebra.leftfetchjoinPath(X_157,r1_182,X_179);
+ X_179 := sql.projectdelta(X_99,X_173,X_176,r1_243,X_178);
+ X_180:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_351,r1_177,X_125,r1_134,X_179);
X_181 := sql.bind(X_6,"sys","supplier","s_acctbal",0);
- (X_183,r1_242) := sql.bind(X_6,"sys","supplier","s_acctbal",2);
- X_185 := sql.bind(X_6,"sys","supplier","s_acctbal",1);
- X_186 := sql.projectdelta(X_59,X_181,X_183,r1_242,X_185);
- X_187:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_346,r1_167,X_186);
- (X_188,r1_255) := algebra.firstn(X_187,100:wrd,false,false);
- (X_191,r1_260) := algebra.firstn(X_180,X_188,r1_255,100:wrd,true,false);
- (X_194,r1_265) := algebra.firstn(X_172,X_191,r1_260,100:wrd,true,false);
- X_196 := algebra.firstn(X_160,X_194,r1_265,100:wrd,true,false);
- X_197 := algebra.leftfetchjoin(X_196,X_160);
- X_198 := algebra.leftfetchjoin(X_196,X_172);
- X_199 := algebra.leftfetchjoin(X_196,X_180);
- X_200 := algebra.leftfetchjoin(X_196,X_187);
- (X_201,r1_274,r2_274) := algebra.subsort(X_200,true,false);
- (X_204,r1_277,r2_277) := algebra.subsort(X_199,r1_274,r2_274,false,false);
- (X_207,r1_280,r2_280) := algebra.subsort(X_198,r1_277,r2_277,false,false);
- (X_210,r1_283,r2_283) := algebra.subsort(X_197,r1_280,r2_280,false,false);
- X_213 := algebra.leftfetchjoin(r1_283,X_200);
- X_216 := algebra.subslice(X_213,0:wrd,99:wrd);
- X_217 := algebra.leftfetchjoin(X_216,X_213);
- X_347 := algebra.leftfetchjoin(X_216,r1_283);
- X_251 := sql.bind(X_6,"sys","supplier","s_comment",0);
- (X_253,r1_355) := sql.bind(X_6,"sys","supplier","s_comment",2);
- X_256 := sql.bind(X_6,"sys","supplier","s_comment",1);
- X_257 := sql.projectdelta(X_59,X_251,X_253,r1_355,X_256);
- X_258:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_347,X_196,X_157,X_136,r1_167,X_257);
- X_241 := sql.bind(X_6,"sys","supplier","s_phone",0);
- (X_245,r1_341) := sql.bind(X_6,"sys","supplier","s_phone",2);
- X_248 := sql.bind(X_6,"sys","supplier","s_phone",1);
- X_249 := sql.projectdelta(X_59,X_241,X_245,r1_341,X_248);
- X_250:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_347,X_196,X_157,X_136,r1_167,X_249);
- X_232 := sql.bind(X_6,"sys","supplier","s_address",0);
- (X_235,r1_325) := sql.bind(X_6,"sys","supplier","s_address",2);
- X_237 := sql.bind(X_6,"sys","supplier","s_address",1);
- X_239 := sql.projectdelta(X_59,X_232,X_235,r1_325,X_237);
- X_240:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_347,X_196,X_157,X_136,r1_167,X_239);
- X_221 := sql.bind(X_6,"sys","part","p_mfgr",0);
- (X_226,r1_307) := sql.bind(X_6,"sys","part","p_mfgr",2);
- X_229 := sql.bind(X_6,"sys","part","p_mfgr",1);
- X_230 := sql.projectdelta(X_26,X_221,X_226,r1_307,X_229);
- X_231:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_347,X_196,X_157,X_136,X_128,X_159,X_95,X_230);
- X_220:bat[:oid,:int] := algebra.leftfetchjoin(X_347,X_197);
- X_219:bat[:oid,:str] := algebra.leftfetchjoin(X_347,X_199);
- X_218:bat[:oid,:str] := algebra.leftfetchjoin(X_347,X_198);
- X_259 := sql.resultSet(8,1,X_217);
- sql.rsColumn(X_259,"sys.supplier","s_acctbal","decimal",15,2,X_217);
- sql.rsColumn(X_259,"sys.supplier","s_name","varchar",25,0,X_218);
- sql.rsColumn(X_259,"sys.nation","n_name","varchar",25,0,X_219);
- sql.rsColumn(X_259,"sys.part","p_partkey","int",32,0,X_220);
- sql.rsColumn(X_259,"sys.part","p_mfgr","varchar",25,0,X_231);
- sql.rsColumn(X_259,"sys.supplier","s_address","varchar",40,0,X_240);
- sql.rsColumn(X_259,"sys.supplier","s_phone","varchar",15,0,X_250);
- sql.rsColumn(X_259,"sys.supplier","s_comment","varchar",101,0,X_258);
- X_290 := io.stdout();
- sql.exportResult(X_290,X_259);
+ (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_351,r1_177,X_125,X_101,r1_122,X_188);
+ (X_190,r1_273) := algebra.firstn(X_189,100:wrd,false,false);
+ (X_193,r1_278) := algebra.firstn(X_180,X_190,r1_273,100:wrd,true,false);
+ (X_196,r1_283) := algebra.firstn(X_172,X_193,r1_278,100:wrd,true,false);
+ X_198 := algebra.firstn(X_160,X_196,r1_283,100:wrd,true,false);
+ 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_199 := algebra.leftfetchjoin(X_198,X_160);
+ X_200 := algebra.leftfetchjoin(X_198,X_172);
+ X_201 := algebra.leftfetchjoin(X_198,X_180);
+ X_202 := algebra.leftfetchjoin(X_198,X_189);
+ (X_203,r1_292,r2_292) := algebra.subsort(X_202,true,false);
+ (X_206,r1_295,r2_295) := algebra.subsort(X_201,r1_292,r2_292,false,false);
+ (X_209,r1_298,r2_298) := algebra.subsort(X_200,r1_295,r2_295,false,false);
+ (X_212,r1_301,r2_301) := algebra.subsort(X_199,r1_298,r2_298,false,false);
+ X_215 := algebra.leftfetchjoin(r1_301,X_202);
+ X_218 := algebra.subslice(X_215,0:wrd,99:wrd);
+ X_352 := algebra.leftfetchjoin(X_218,r1_301);
+ X_233:bat[:oid,:str] :=
algebra.leftfetchjoinPath(X_352,X_198,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);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list