Skip to content

Commit 6316570

Browse files
Switched off GraceSelfJoinCore (#7308)
1 parent ff5d894 commit 6316570

File tree

6 files changed

+55
-5
lines changed

6 files changed

+55
-5
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/income_band"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/income_band"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/promotion"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (Grace)","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/catalog_returns"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_returns"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/item"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_sales"},{"op_name":"TableFullScan","table":"test\/ds\/store"}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/income_band"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/income_band"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/promotion"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (Grace)","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/catalog_returns"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_returns"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/item"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/date_dim"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_sales"},{"op_name":"TableFullScan","table":"test\/ds\/store"}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}
1+
{"op_name":"InnerJoin (Grace)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (Grace)","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/catalog_returns"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_returns"},{"op_name":"TableFullScan","table":"test\/ds\/item"}]}]}]}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/store"}]}]}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/promotion"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"TableFullScan","table":"test\/ds\/income_band"}]}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"TableFullScan","table":"test\/ds\/income_band"}]}]}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (Grace)","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/catalog_returns"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_demographics"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/customer_address"},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/store_returns"},{"op_name":"TableFullScan","table":"test\/ds\/item"}]}]}]}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/store"}]}]}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/date_dim"}]},{"op_name":"TableFullScan","table":"test\/ds\/promotion"}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"TableFullScan","table":"test\/ds\/income_band"}]}]},{"op_name":"InnerJoin (MapJoin)","args":[{"op_name":"TableFullScan","table":"test\/ds\/household_demographics"},{"op_name":"TableFullScan","table":"test\/ds\/income_band"}]}]}]}]}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"op_name":"InnerJoin (Grace)","args":[{"op_name":"CrossJoin","args":[{"op_name":"CrossJoin","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/store"}]},{"op_name":"TableFullScan","table":"test\/ds\/item"}]},{"op_name":"CrossJoin","args":[{"op_name":"CrossJoin","args":[{"op_name":"TableFullScan","table":"test\/ds\/catalog_sales"},{"op_name":"TableFullScan","table":"test\/ds\/store"}]},{"op_name":"TableFullScan","table":"test\/ds\/item"}]}]}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
PRAGMA TablePathPrefix='/Root/test/ds';
2+
3+
--- NB: Subquerys
4+
5+
$cs_ui =
6+
7+
(select catalog_sales.cs_item_sk
8+
9+
from catalog_sales as catalog_sales
10+
11+
group by catalog_sales.cs_item_sk
12+
);
13+
14+
$cross_sales =
15+
16+
(select item.i_product_name product_name
17+
18+
,store.s_store_name store_name
19+
20+
FROM $cs_ui cs_ui
21+
22+
cross join store as store
23+
24+
cross join item as item
25+
26+
group by item.i_product_name
27+
28+
,store.s_store_name
29+
30+
);
31+
32+
-- start query 1 in stream 0 using template query64.tpl and seed 1220860970
33+
34+
select cs1.product_name
35+
36+
from $cross_sales cs1 cross join $cross_sales cs2
37+
38+
where cs1.store_name = cs2.store_name;
39+
40+
41+
42+
-- end query 1 in stream 0 using template query64.tpl

ydb/core/kqp/ut/join/kqp_join_order_ut.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,13 +335,19 @@ void ExecuteJoinOrderTestDataQueryWithStats(const TString& queryPath, const TStr
335335
);
336336
}
337337

338-
/*
338+
339339
Y_UNIT_TEST_TWIN(OverrideStatsTPCDS64, StreamLookupJoin) {
340340
JoinOrderTestWithOverridenStats(
341341
"queries/tpcds64.sql", "stats/tpcds1000s.json", "join_order/tpcds64_1000s.json", StreamLookupJoin
342342
);
343343
}
344-
*/
344+
345+
346+
Y_UNIT_TEST_TWIN(OverrideStatsTPCDS64_small, StreamLookupJoin) {
347+
JoinOrderTestWithOverridenStats(
348+
"queries/tpcds64_small.sql", "stats/tpcds1000s.json", "join_order/tpcds64_small_1000s.json", StreamLookupJoin
349+
);
350+
}
345351

346352
Y_UNIT_TEST_TWIN(OverrideStatsTPCDS78, StreamLookupJoin) {
347353
JoinOrderTestWithOverridenStats(

ydb/core/kqp/ut/spilling/kqp_scan_spilling_ut.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ Y_UNIT_TEST_TWIN(SpillingInRuntimeNodes, EnabledSpilling) {
9090
auto query = R"(
9191
--!syntax_v1
9292
PRAGMA ydb.EnableSpillingNodes="GraceJoin";
93-
PRAGMA ydb.OverrideStatistics='{"/Root/KeyValue" : {"n_rows":10e9, "byte_size":10e9}}';
93+
PRAGMA ydb.CostBasedOptimizationLevel='0';
94+
PRAGMA ydb.HashJoinMode='graceandself';
9495
select t1.Key, t1.Value, t2.Key, t2.Value
9596
from `/Root/KeyValue` as t1 full join `/Root/KeyValue` as t2 on t1.Value = t2.Value
9697
order by t1.Value

ydb/library/yql/dq/opt/dq_opt_phy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2626,7 +2626,7 @@ TExprBase DqBuildJoin(const TExprBase& node, TExprContext& ctx, IOptimizationCon
26262626
if (joinAlgo == EJoinAlgoType::MapJoin && mapJoinCanBeApplied) {
26272627
hashJoin = EHashJoinMode::Map;
26282628
} else if (joinAlgo == EJoinAlgoType::GraceJoin) {
2629-
hashJoin = EHashJoinMode::GraceAndSelf;
2629+
hashJoin = EHashJoinMode::Grace;
26302630
}
26312631

26322632
bool useHashJoin = EHashJoinMode::Off != hashJoin

0 commit comments

Comments
 (0)