Skip to content

Commit fbef1a3

Browse files
committed
update tpch explain test because left outer semi join is converted to inner join now
1 parent 6effd4f commit fbef1a3

File tree

1 file changed

+45
-47
lines changed

1 file changed

+45
-47
lines changed

cmd/explaintest/r/tpch.result

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -184,38 +184,37 @@ limit 100;
184184
id count task operator info
185185
Projection_34 100.00 root tpch.supplier.s_acctbal, tpch.supplier.s_name, tpch.nation.n_name, tpch.part.p_partkey, tpch.part.p_mfgr, tpch.supplier.s_address, tpch.supplier.s_phone, tpch.supplier.s_comment
186186
└─TopN_37 100.00 root tpch.supplier.s_acctbal:desc, tpch.nation.n_name:asc, tpch.supplier.s_name:asc, tpch.part.p_partkey:asc, offset:0, count:100
187-
└─Selection_38 100087.54 root eq(tpch.partsupp.ps_supplycost, min(ps_supplycost))
188-
└─HashLeftJoin_39 125109.42 root left outer join, inner:HashAgg_88, equal:[eq(tpch.part.p_partkey, tpch.partsupp.ps_partkey)]
189-
├─HashLeftJoin_44 125109.42 root inner join, inner:TableReader_85, equal:[eq(tpch.nation.n_regionkey, tpch.region.r_regionkey)]
190-
│ ├─HashLeftJoin_49 625547.12 root inner join, inner:TableReader_82, equal:[eq(tpch.supplier.s_nationkey, tpch.nation.n_nationkey)]
191-
│ │ ├─IndexJoin_53 625547.12 root inner join, inner:TableReader_52, outer key:tpch.partsupp.ps_suppkey, inner key:tpch.supplier.s_suppkey
192-
│ │ │ ├─IndexJoin_60 625547.12 root inner join, inner:IndexLookUp_59, outer key:tpch.part.p_partkey, inner key:tpch.partsupp.ps_partkey
193-
│ │ │ │ ├─TableReader_76 155496.00 root data:Selection_75
194-
│ │ │ │ │ └─Selection_75 155496.00 cop eq(tpch.part.p_size, 30), like(tpch.part.p_type, "%STEEL", 92)
195-
│ │ │ │ │ └─TableScan_74 10000000.00 cop table:part, range:[-inf,+inf], keep order:false
196-
│ │ │ │ └─IndexLookUp_59 1.00 root
197-
│ │ │ │ ├─IndexScan_57 1.00 cop table:partsupp, index:PS_PARTKEY, PS_SUPPKEY, range: decided by [tpch.part.p_partkey], keep order:false
198-
│ │ │ │ └─TableScan_58 1.00 cop table:partsupp, keep order:false
199-
│ │ │ └─TableReader_52 1.00 root data:TableScan_51
200-
│ │ │ └─TableScan_51 1.00 cop table:supplier, range: decided by [tpch.partsupp.ps_suppkey], keep order:false
201-
│ │ └─TableReader_82 25.00 root data:TableScan_81
202-
│ │ └─TableScan_81 25.00 cop table:nation, range:[-inf,+inf], keep order:false
203-
│ └─TableReader_85 1.00 root data:Selection_84
204-
│ └─Selection_84 1.00 cop eq(tpch.region.r_name, "ASIA")
205-
│ └─TableScan_83 5.00 cop table:region, range:[-inf,+inf], keep order:false
206-
└─HashAgg_88 8155010.44 root group by:tpch.partsupp.ps_partkey, funcs:min(tpch.partsupp.ps_supplycost), firstrow(tpch.partsupp.ps_partkey)
207-
└─HashRightJoin_92 8155010.44 root inner join, inner:HashRightJoin_94, equal:[eq(tpch.supplier.s_suppkey, tpch.partsupp.ps_suppkey)]
208-
├─HashRightJoin_94 100000.00 root inner join, inner:HashRightJoin_100, equal:[eq(tpch.nation.n_nationkey, tpch.supplier.s_nationkey)]
209-
│ ├─HashRightJoin_100 5.00 root inner join, inner:TableReader_105, equal:[eq(tpch.region.r_regionkey, tpch.nation.n_regionkey)]
210-
│ │ ├─TableReader_105 1.00 root data:Selection_104
211-
│ │ │ └─Selection_104 1.00 cop eq(tpch.region.r_name, "ASIA")
212-
│ │ │ └─TableScan_103 5.00 cop table:region, range:[-inf,+inf], keep order:false
213-
│ │ └─TableReader_102 25.00 root data:TableScan_101
214-
│ │ └─TableScan_101 25.00 cop table:nation, range:[-inf,+inf], keep order:false
215-
│ └─TableReader_107 500000.00 root data:TableScan_106
216-
│ └─TableScan_106 500000.00 cop table:supplier, range:[-inf,+inf], keep order:false
217-
└─TableReader_109 40000000.00 root data:TableScan_108
218-
└─TableScan_108 40000000.00 cop table:partsupp, range:[-inf,+inf], keep order:false
187+
└─HashRightJoin_39 125109.42 root inner join, inner:HashLeftJoin_44, equal:[eq(tpch.part.p_partkey, tpch.partsupp.ps_partkey) eq(tpch.partsupp.ps_supplycost, min(ps_supplycost))]
188+
├─HashLeftJoin_44 125109.42 root inner join, inner:TableReader_85, equal:[eq(tpch.nation.n_regionkey, tpch.region.r_regionkey)]
189+
│ ├─HashLeftJoin_49 625547.12 root inner join, inner:TableReader_82, equal:[eq(tpch.supplier.s_nationkey, tpch.nation.n_nationkey)]
190+
│ │ ├─IndexJoin_53 625547.12 root inner join, inner:TableReader_52, outer key:tpch.partsupp.ps_suppkey, inner key:tpch.supplier.s_suppkey
191+
│ │ │ ├─IndexJoin_60 625547.12 root inner join, inner:IndexLookUp_59, outer key:tpch.part.p_partkey, inner key:tpch.partsupp.ps_partkey
192+
│ │ │ │ ├─TableReader_76 155496.00 root data:Selection_75
193+
│ │ │ │ │ └─Selection_75 155496.00 cop eq(tpch.part.p_size, 30), like(tpch.part.p_type, "%STEEL", 92)
194+
│ │ │ │ │ └─TableScan_74 10000000.00 cop table:part, range:[-inf,+inf], keep order:false
195+
│ │ │ │ └─IndexLookUp_59 1.00 root
196+
│ │ │ │ ├─IndexScan_57 1.00 cop table:partsupp, index:PS_PARTKEY, PS_SUPPKEY, range: decided by [tpch.part.p_partkey], keep order:false
197+
│ │ │ │ └─TableScan_58 1.00 cop table:partsupp, keep order:false
198+
│ │ │ └─TableReader_52 1.00 root data:TableScan_51
199+
│ │ │ └─TableScan_51 1.00 cop table:supplier, range: decided by [tpch.partsupp.ps_suppkey], keep order:false
200+
│ │ └─TableReader_82 25.00 root data:TableScan_81
201+
│ │ └─TableScan_81 25.00 cop table:nation, range:[-inf,+inf], keep order:false
202+
│ └─TableReader_85 1.00 root data:Selection_84
203+
│ └─Selection_84 1.00 cop eq(tpch.region.r_name, "ASIA")
204+
│ └─TableScan_83 5.00 cop table:region, range:[-inf,+inf], keep order:false
205+
└─HashAgg_88 8155010.44 root group by:tpch.partsupp.ps_partkey, funcs:min(tpch.partsupp.ps_supplycost), firstrow(tpch.partsupp.ps_partkey)
206+
└─HashRightJoin_92 8155010.44 root inner join, inner:HashRightJoin_94, equal:[eq(tpch.supplier.s_suppkey, tpch.partsupp.ps_suppkey)]
207+
├─HashRightJoin_94 100000.00 root inner join, inner:HashRightJoin_100, equal:[eq(tpch.nation.n_nationkey, tpch.supplier.s_nationkey)]
208+
│ ├─HashRightJoin_100 5.00 root inner join, inner:TableReader_105, equal:[eq(tpch.region.r_regionkey, tpch.nation.n_regionkey)]
209+
│ │ ├─TableReader_105 1.00 root data:Selection_104
210+
│ │ │ └─Selection_104 1.00 cop eq(tpch.region.r_name, "ASIA")
211+
│ │ │ └─TableScan_103 5.00 cop table:region, range:[-inf,+inf], keep order:false
212+
│ │ └─TableReader_102 25.00 root data:TableScan_101
213+
│ │ └─TableScan_101 25.00 cop table:nation, range:[-inf,+inf], keep order:false
214+
│ └─TableReader_107 500000.00 root data:TableScan_106
215+
│ └─TableScan_106 500000.00 cop table:supplier, range:[-inf,+inf], keep order:false
216+
└─TableReader_109 40000000.00 root data:TableScan_108
217+
└─TableScan_108 40000000.00 cop table:partsupp, range:[-inf,+inf], keep order:false
219218
/*
220219
Q3 Shipping Priority Query
221220
This query retrieves the 10 unshipped orders with the highest value.
@@ -965,21 +964,20 @@ where
965964
l_partkey = p_partkey
966965
);
967966
id count task operator info
968-
Projection_15 1.00 root div(11_col_0, 7.0)
969-
└─StreamAgg_20 1.00 root funcs:sum(tpch.lineitem.l_extendedprice)
970-
└─Projection_43 235019.06 root tpch.lineitem.l_partkey, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.part.p_partkey, tpch.part.p_brand, tpch.part.p_container, mul(0.2, 7_col_0)
971-
└─Selection_44 235019.06 root lt(tpch.lineitem.l_quantity, mul(0.2, 7_col_0))
972-
└─HashLeftJoin_45 293773.83 root left outer join, inner:HashAgg_39, equal:[eq(tpch.part.p_partkey, tpch.lineitem.l_partkey)]
973-
├─HashRightJoin_51 293773.83 root inner join, inner:TableReader_34, equal:[eq(tpch.part.p_partkey, tpch.lineitem.l_partkey)]
974-
│ ├─TableReader_34 9736.49 root data:Selection_33
975-
│ │ └─Selection_33 9736.49 cop eq(tpch.part.p_brand, "Brand#44"), eq(tpch.part.p_container, "WRAP PKG")
976-
│ │ └─TableScan_32 10000000.00 cop table:part, range:[-inf,+inf], keep order:false
977-
│ └─TableReader_53 300005811.00 root data:TableScan_52
978-
│ └─TableScan_52 300005811.00 cop table:lineitem, range:[-inf,+inf], keep order:false
979-
└─HashAgg_39 9943040.00 root group by:col_3, funcs:avg(col_0, col_1), firstrow(col_2)
980-
└─TableReader_40 9943040.00 root data:HashAgg_35
981-
└─HashAgg_35 9943040.00 cop group by:tpch.lineitem.l_partkey, funcs:avg(tpch.lineitem.l_quantity), firstrow(tpch.lineitem.l_partkey)
982-
└─TableScan_38 300005811.00 cop table:lineitem, range:[-inf,+inf], keep order:false
967+
Projection_14 1.00 root div(11_col_0, 7.0)
968+
└─StreamAgg_19 1.00 root funcs:sum(tpch.lineitem.l_extendedprice)
969+
└─Projection_42 293773.83 root tpch.lineitem.l_partkey, tpch.lineitem.l_quantity, tpch.lineitem.l_extendedprice, tpch.part.p_partkey, tpch.part.p_brand, tpch.part.p_container, mul(0.2, 7_col_0)
970+
└─HashRightJoin_44 293773.83 root inner join, inner:HashRightJoin_28, equal:[eq(tpch.part.p_partkey, tpch.lineitem.l_partkey)], other cond:lt(tpch.lineitem.l_quantity, mul(0.2, 7_col_0))
971+
├─HashRightJoin_28 293773.83 root inner join, inner:TableReader_33, equal:[eq(tpch.part.p_partkey, tpch.lineitem.l_partkey)]
972+
│ ├─TableReader_33 9736.49 root data:Selection_32
973+
│ │ └─Selection_32 9736.49 cop eq(tpch.part.p_brand, "Brand#44"), eq(tpch.part.p_container, "WRAP PKG")
974+
│ │ └─TableScan_31 10000000.00 cop table:part, range:[-inf,+inf], keep order:false
975+
│ └─TableReader_30 300005811.00 root data:TableScan_29
976+
│ └─TableScan_29 300005811.00 cop table:lineitem, range:[-inf,+inf], keep order:false
977+
└─HashAgg_59 9943040.00 root group by:col_3, funcs:avg(col_0, col_1), firstrow(col_2)
978+
└─TableReader_60 9943040.00 root data:HashAgg_56
979+
└─HashAgg_56 9943040.00 cop group by:tpch.lineitem.l_partkey, funcs:avg(tpch.lineitem.l_quantity), firstrow(tpch.lineitem.l_partkey)
980+
└─TableScan_37 300005811.00 cop table:lineitem, range:[-inf,+inf], keep order:false
983981
/*
984982
Q18 Large Volume Customer Query
985983
The Large Volume Customer Query ranks customers based on their having placed a large quantity order. Large

0 commit comments

Comments
 (0)