diff --git a/ydb/core/kqp/opt/logical/kqp_opt_log.cpp b/ydb/core/kqp/opt/logical/kqp_opt_log.cpp index f6471e103f02..445cd1252acc 100644 --- a/ydb/core/kqp/opt/logical/kqp_opt_log.cpp +++ b/ydb/core/kqp/opt/logical/kqp_opt_log.cpp @@ -91,9 +91,9 @@ class TKqpLogicalOptTransformer : public TOptimizeTransformerBase { public: TStatus DoTransform(TExprNode::TPtr input, TExprNode::TPtr& output, TExprContext& ctx) override { auto status = TOptimizeTransformerBase::DoTransform(input, output, ctx); - - for (const auto& hint: KqpCtx.GetOptimizerHints().GetUnappliedHintStrings()) { - YQL_CLOG(WARN, ProviderYdb) << "Unapplied hint: " + hint; + + for (const auto& hint: KqpCtx.GetOptimizerHints().GetUnappliedString()) { + ctx.AddWarning(YqlIssue({}, TIssuesIds::YQL_UNUSED_HINT, "Unapplied hint: " + hint)); } return status; diff --git a/ydb/library/yql/core/cbo/cbo_optimizer_new.cpp b/ydb/library/yql/core/cbo/cbo_optimizer_new.cpp index 0bfda45956e6..eb7d07e429dd 100644 --- a/ydb/library/yql/core/cbo/cbo_optimizer_new.cpp +++ b/ydb/library/yql/core/cbo/cbo_optimizer_new.cpp @@ -303,7 +303,7 @@ const TBaseProviderContext& TBaseProviderContext::Instance() { return staticContext; } -TVector TOptimizerHints::GetUnappliedHintStrings() { +TVector TOptimizerHints::GetUnappliedString() { TVector res; for (const auto& hint: JoinAlgoHints->Hints) { diff --git a/ydb/library/yql/core/cbo/cbo_optimizer_new.h b/ydb/library/yql/core/cbo/cbo_optimizer_new.h index f40a45b55fa0..9d6950be6479 100644 --- a/ydb/library/yql/core/cbo/cbo_optimizer_new.h +++ b/ydb/library/yql/core/cbo/cbo_optimizer_new.h @@ -177,7 +177,7 @@ struct TOptimizerHints { std::shared_ptr JoinAlgoHints = std::make_shared(); std::shared_ptr JoinOrderHints = std::make_shared(); - TVector GetUnappliedHintStrings(); + TVector GetUnappliedString(); /* * The function accepts string with three type of expressions: array of (JoinAlgo | Card | JoinOrder):