Skip to content

Commit 6064125

Browse files
authored
Do not reorder/change joins for CostBasedOptimizationLevel == 1 (#7077)
1 parent b1a2b73 commit 6064125

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

ydb/core/kqp/opt/logical/kqp_opt_cbo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,13 @@ double TKqpProviderContext::ComputeJoinCost(const TOptimizerStatistics& leftStat
176176

177177
switch(joinAlgo) {
178178
case EJoinAlgoType::LookupJoin:
179-
if (OptLevel==1) {
179+
if (OptLevel == 2) {
180180
return -1;
181181
}
182182
return leftStats.Nrows + outputRows;
183183

184184
case EJoinAlgoType::LookupJoinReverse:
185-
if (OptLevel==1) {
185+
if (OptLevel == 2) {
186186
return -1;
187187
}
188188
return rightStats.Nrows + outputRows;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ void _DqOptimizeEquiJoinWithCosts(const std::function<IOptimizerNew*()>& optFact
222222
auto rel = std::make_shared<TRelOptimizerNode>(TString(label), stats);
223223
rels.push_back(rel);
224224
};
225-
auto res = DqOptimizeEquiJoinWithCosts(equiJoin, ctx, typeCtx, 1, *opt, providerCollect);
225+
auto res = DqOptimizeEquiJoinWithCosts(equiJoin, ctx, typeCtx, 2, *opt, providerCollect);
226226
UNIT_ASSERT(equiJoin.Ptr() != res.Ptr());
227227
UNIT_ASSERT(equiJoin.Ptr()->ChildrenSize() == res.Ptr()->ChildrenSize());
228228
UNIT_ASSERT(equiJoin.Maybe<TCoEquiJoin>());

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ TExprBase DqOptimizeEquiJoinWithCosts(
277277
const TProviderCollectFunction& providerCollect,
278278
int& equiJoinCounter
279279
) {
280-
if (optLevel == 0) {
280+
if (optLevel <= 1) {
281281
return node;
282282
}
283283

ydb/library/yql/providers/dq/opt/logical_optimize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ class TDqsLogicalOptProposalTransformer : public TOptimizeTransformerBase {
225225
rels.push_back(rel);
226226
};
227227

228-
return DqOptimizeEquiJoinWithCosts(node, ctx, TypesCtx, 1, *opt, providerCollect);
228+
return DqOptimizeEquiJoinWithCosts(node, ctx, TypesCtx, 2, *opt, providerCollect);
229229
} else {
230230
return node;
231231
}

0 commit comments

Comments
 (0)