Skip to content

Commit 81f449d

Browse files
authored
[CBO] Asan test memory leak fix (#9791)
1 parent 0e1b9d0 commit 81f449d

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,21 @@
88
#include "dq_opt_make_join_hypergraph.h"
99
#include "dq_opt_log.h"
1010

11+
#include <memory>
12+
1113
using namespace NYql;
1214
using namespace NNodes;
1315
using namespace NYql::NDq;
1416

1517
std::shared_ptr<IBaseOptimizerNode> CreateChain(size_t size, TString onAttribute, TString tablePrefix="e") {
1618
std::shared_ptr<IBaseOptimizerNode> root = std::make_shared<TRelOptimizerNode>(tablePrefix + "1", std::make_shared<TOptimizerStatistics>());
19+
root->Stats->Labels = std::make_shared<TVector<TString>>(TVector<TString>{tablePrefix + "1"});
1720
for (size_t i = 1; i < size; ++i) {
1821
auto eiStr = tablePrefix + ToString(i + 1);
1922
auto eiPrevStr = tablePrefix + ToString(i);
2023

2124
auto ei = std::make_shared<TRelOptimizerNode>(eiStr, std::make_shared<TOptimizerStatistics>());
25+
ei->Stats->Labels = std::make_shared<TVector<TString>>(TVector<TString>{eiStr});
2226

2327
std::set<std::pair<NDq::TJoinColumn, NDq::TJoinColumn>> joinConditions;
2428
joinConditions.insert({TJoinColumn(eiPrevStr, onAttribute), TJoinColumn(eiStr, onAttribute)});
@@ -31,10 +35,11 @@ std::shared_ptr<IBaseOptimizerNode> CreateChain(size_t size, TString onAttribute
3135
return root;
3236
}
3337

34-
38+
template <typename TProviderContext = TBaseProviderContext>
3539
std::shared_ptr<IBaseOptimizerNode> Enumerate(const std::shared_ptr<IBaseOptimizerNode>& root) {
36-
auto ctx = TBaseProviderContext();
37-
auto optimizer = MakeNativeOptimizerNew(ctx, std::numeric_limits<ui32>::max());
40+
auto ctx = TProviderContext();
41+
auto optimizer =
42+
std::unique_ptr<IOptimizerNew>(MakeNativeOptimizerNew(ctx, std::numeric_limits<ui32>::max()));
3843

3944
Y_ENSURE(root->Kind == EOptimizerNodeKind::JoinNodeType);
4045
auto res = optimizer->JoinSearch(std::static_pointer_cast<TJoinOptimizerNode>(root));

0 commit comments

Comments
 (0)