Skip to content

Commit bd87563

Browse files
authored
Replaced proto types to SDK types in ExecuteScript settings (#6094)
1 parent 9bc35ed commit bd87563

File tree

13 files changed

+115
-83
lines changed

13 files changed

+115
-83
lines changed

ydb/core/fq/libs/compute/common/utils.cpp

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include <library/cpp/json/yson/json2yson.h>
66
#include <ydb/library/yql/public/issue/yql_issue_message.h>
77

8+
#include <ydb/public/sdk/cpp/client/ydb_proto/accessor.h>
9+
810
namespace NFq {
911

1012
using TAggregates = std::map<TString, std::optional<ui64>>;
@@ -1133,8 +1135,8 @@ TString SimplifiedPlan(const TString& plan) {
11331135
}
11341136

11351137
struct TNoneStatProcessor : IPlanStatProcessor {
1136-
Ydb::Query::StatsMode GetStatsMode() override {
1137-
return Ydb::Query::StatsMode::STATS_MODE_NONE;
1138+
NYdb::NQuery::EStatsMode GetStatsMode() override {
1139+
return NYdb::NQuery::EStatsMode::None;
11381140
}
11391141

11401142
TString ConvertPlan(const TString& plan) override {
@@ -1160,14 +1162,14 @@ struct TNoneStatProcessor : IPlanStatProcessor {
11601162
};
11611163

11621164
struct TBasicStatProcessor : TNoneStatProcessor {
1163-
Ydb::Query::StatsMode GetStatsMode() override {
1164-
return Ydb::Query::StatsMode::STATS_MODE_BASIC;
1165+
NYdb::NQuery::EStatsMode GetStatsMode() override {
1166+
return NYdb::NQuery::EStatsMode::Basic;
11651167
}
11661168
};
11671169

11681170
struct TPlanStatProcessor : IPlanStatProcessor {
1169-
Ydb::Query::StatsMode GetStatsMode() override {
1170-
return Ydb::Query::StatsMode::STATS_MODE_FULL;
1171+
NYdb::NQuery::EStatsMode GetStatsMode() override {
1172+
return NYdb::NQuery::EStatsMode::Full;
11711173
}
11721174

11731175
TString ConvertPlan(const TString& plan) override {
@@ -1204,8 +1206,8 @@ struct TCostStatProcessor : TPlanStatProcessor {
12041206
};
12051207

12061208
struct TProfileStatProcessor : TPlanStatProcessor {
1207-
Ydb::Query::StatsMode GetStatsMode() override {
1208-
return Ydb::Query::StatsMode::STATS_MODE_PROFILE;
1209+
NYdb::NQuery::EStatsMode GetStatsMode() override {
1210+
return NYdb::NQuery::EStatsMode::Profile;
12091211
}
12101212
};
12111213

@@ -1233,7 +1235,7 @@ PingTaskRequestBuilder::PingTaskRequestBuilder(const NConfig::TCommonConfig& com
12331235
{}
12341236

12351237
Fq::Private::PingTaskRequest PingTaskRequestBuilder::Build(
1236-
const Ydb::TableStats::QueryStats& queryStats,
1238+
const NYdb::NQuery::TExecStats& queryStats,
12371239
const NYql::TIssues& issues,
12381240
std::optional<FederatedQuery::QueryMeta::ComputeStatus> computeStatus,
12391241
std::optional<NYql::NDqProto::StatusIds::StatusCode> pendingStatusCode
@@ -1256,8 +1258,9 @@ Fq::Private::PingTaskRequest PingTaskRequestBuilder::Build(
12561258
}
12571259

12581260

1259-
Fq::Private::PingTaskRequest PingTaskRequestBuilder::Build(const Ydb::TableStats::QueryStats& queryStats) {
1260-
return Build(queryStats.query_plan(), queryStats.query_ast(), queryStats.compilation().duration_us(), queryStats.total_duration_us());
1261+
Fq::Private::PingTaskRequest PingTaskRequestBuilder::Build(const NYdb::NQuery::TExecStats& queryStats) {
1262+
const auto& statsProto = NYdb::TProtoAccessor().GetProto(queryStats);
1263+
return Build(statsProto.query_plan(), statsProto.query_ast(), statsProto.compilation().duration_us(), statsProto.total_duration_us());
12611264
}
12621265

12631266
Fq::Private::PingTaskRequest PingTaskRequestBuilder::Build(const TString& queryPlan, const TString& queryAst, int64_t compilationTimeUs, int64_t computeTimeUs) {

ydb/core/fq/libs/compute/common/utils.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <ydb/core/fq/libs/ydb/ydb.h>
1010

1111
#include <ydb/public/sdk/cpp/client/ydb_table/table.h>
12+
#include <ydb/public/sdk/cpp/client/ydb_query/query.h>
1213

1314
namespace NFq {
1415

@@ -53,7 +54,7 @@ TPublicStat GetPublicStat(const TString& statistics);
5354

5455
struct IPlanStatProcessor {
5556
virtual ~IPlanStatProcessor() = default;
56-
virtual Ydb::Query::StatsMode GetStatsMode() = 0;
57+
virtual NYdb::NQuery::EStatsMode GetStatsMode() = 0;
5758
virtual TString ConvertPlan(const TString& plan) = 0;
5859
virtual TString GetPlanVisualization(const TString& plan) = 0;
5960
virtual TString GetQueryStat(const TString& plan, double& cpuUsage) = 0;
@@ -67,12 +68,12 @@ class PingTaskRequestBuilder {
6768
public:
6869
PingTaskRequestBuilder(const NConfig::TCommonConfig& commonConfig, std::unique_ptr<IPlanStatProcessor>&& processor);
6970
Fq::Private::PingTaskRequest Build(
70-
const Ydb::TableStats::QueryStats& queryStats,
71+
const NYdb::NQuery::TExecStats& queryStats,
7172
const NYql::TIssues& issues,
7273
std::optional<FederatedQuery::QueryMeta::ComputeStatus> computeStatus = std::nullopt,
7374
std::optional<NYql::NDqProto::StatusIds::StatusCode> pendingStatusCode = std::nullopt
7475
);
75-
Fq::Private::PingTaskRequest Build(const Ydb::TableStats::QueryStats& queryStats);
76+
Fq::Private::PingTaskRequest Build(const NYdb::NQuery::TExecStats& queryStats);
7677
Fq::Private::PingTaskRequest Build(const TString& queryPlan, const TString& queryAst, int64_t compilationTimeUs, int64_t computeTimeUs);
7778
NYql::TIssues Issues;
7879
double CpuUsage = 0.0;

ydb/core/fq/libs/compute/ydb/events/events.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ struct TEvYdbCompute {
7171

7272
// Events
7373
struct TEvExecuteScriptRequest : public NActors::TEventLocal<TEvExecuteScriptRequest, EvExecuteScriptRequest> {
74-
TEvExecuteScriptRequest(TString sql, TString idempotencyKey, const TDuration& resultTtl, const TDuration& operationTimeout, Ydb::Query::Syntax syntax, Ydb::Query::ExecMode execMode, Ydb::Query::StatsMode statsMode, const TString& traceId, const std::map<TString, Ydb::TypedValue>& queryParameters)
74+
TEvExecuteScriptRequest(TString sql, TString idempotencyKey, const TDuration& resultTtl, const TDuration& operationTimeout, NYdb::NQuery::ESyntax syntax, NYdb::NQuery::EExecMode execMode, NYdb::NQuery::EStatsMode statsMode, const TString& traceId, const std::map<TString, Ydb::TypedValue>& queryParameters)
7575
: Sql(std::move(sql))
7676
, IdempotencyKey(std::move(idempotencyKey))
7777
, ResultTtl(resultTtl)
@@ -87,9 +87,9 @@ struct TEvYdbCompute {
8787
TString IdempotencyKey;
8888
TDuration ResultTtl;
8989
TDuration OperationTimeout;
90-
Ydb::Query::Syntax Syntax = Ydb::Query::SYNTAX_YQL_V1;
91-
Ydb::Query::ExecMode ExecMode = Ydb::Query::EXEC_MODE_EXECUTE;
92-
Ydb::Query::StatsMode StatsMode = Ydb::Query::StatsMode::STATS_MODE_FULL;
90+
NYdb::NQuery::ESyntax Syntax = NYdb::NQuery::ESyntax::YqlV1;
91+
NYdb::NQuery::EExecMode ExecMode = NYdb::NQuery::EExecMode::Execute;
92+
NYdb::NQuery::EStatsMode StatsMode = NYdb::NQuery::EStatsMode::Full;
9393
TString TraceId;
9494
std::map<TString, Ydb::TypedValue> QueryParameters;
9595
};
@@ -127,7 +127,7 @@ struct TEvYdbCompute {
127127
, Ready(ready)
128128
{}
129129

130-
TEvGetOperationResponse(NYdb::NQuery::EExecStatus execStatus, Ydb::StatusIds::StatusCode statusCode, const TVector<Ydb::Query::ResultSetMeta>& resultSetsMeta, const Ydb::TableStats::QueryStats& queryStats, NYql::TIssues issues, bool ready = true)
130+
TEvGetOperationResponse(NYdb::NQuery::EExecStatus execStatus, Ydb::StatusIds::StatusCode statusCode, const std::vector<NYdb::NQuery::TResultSetMeta>& resultSetsMeta, const NYdb::NQuery::TExecStats& queryStats, NYql::TIssues issues, bool ready = true)
131131
: ExecStatus(execStatus)
132132
, StatusCode(statusCode)
133133
, ResultSetsMeta(resultSetsMeta)
@@ -139,8 +139,8 @@ struct TEvYdbCompute {
139139

140140
NYdb::NQuery::EExecStatus ExecStatus = NYdb::NQuery::EExecStatus::Unspecified;
141141
Ydb::StatusIds::StatusCode StatusCode = Ydb::StatusIds::STATUS_CODE_UNSPECIFIED;
142-
TVector<Ydb::Query::ResultSetMeta> ResultSetsMeta;
143-
Ydb::TableStats::QueryStats QueryStats;
142+
std::vector<NYdb::NQuery::TResultSetMeta> ResultSetsMeta;
143+
NYdb::NQuery::TExecStats QueryStats;
144144
NYql::TIssues Issues;
145145
NYdb::EStatus Status;
146146
bool Ready;

ydb/core/fq/libs/compute/ydb/executer_actor.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class TExecuterActor : public TBaseComputeActor<TExecuterActor> {
5959
}
6060
};
6161

62-
TExecuterActor(const TRunActorParams& params, Ydb::Query::StatsMode statsMode, const TActorId& parent, const TActorId& connector, const TActorId& pinger, const ::NYql::NCommon::TServiceCounters& queryCounters)
62+
TExecuterActor(const TRunActorParams& params, NYdb::NQuery::EStatsMode statsMode, const TActorId& parent, const TActorId& connector, const TActorId& pinger, const ::NYql::NCommon::TServiceCounters& queryCounters)
6363
: TBaseComputeActor(queryCounters, "Executer")
6464
, Params(params)
6565
, StatsMode(statsMode)
@@ -115,38 +115,38 @@ class TExecuterActor : public TBaseComputeActor<TExecuterActor> {
115115
}
116116

117117
void SendExecuteScript() {
118-
Register(new TRetryActor<TEvYdbCompute::TEvExecuteScriptRequest, TEvYdbCompute::TEvExecuteScriptResponse, TString, TString, TDuration, TDuration, Ydb::Query::Syntax, Ydb::Query::ExecMode, Ydb::Query::StatsMode, TString, std::map<TString, Ydb::TypedValue>>(Counters.GetCounters(ERequestType::RT_EXECUTE_SCRIPT), SelfId(), Connector, Params.Sql, Params.JobId, Params.ResultTtl, Params.ExecutionTtl, GetSyntax(), GetExecuteMode(), StatsMode, Params.JobId + "_" + ToString(Params.RestartCount), Params.QueryParameters));
118+
Register(new TRetryActor<TEvYdbCompute::TEvExecuteScriptRequest, TEvYdbCompute::TEvExecuteScriptResponse, TString, TString, TDuration, TDuration, NYdb::NQuery::ESyntax, NYdb::NQuery::EExecMode, NYdb::NQuery::EStatsMode, TString, std::map<TString, Ydb::TypedValue>>(Counters.GetCounters(ERequestType::RT_EXECUTE_SCRIPT), SelfId(), Connector, Params.Sql, Params.JobId, Params.ResultTtl, Params.ExecutionTtl, GetSyntax(), GetExecuteMode(), StatsMode, Params.JobId + "_" + ToString(Params.RestartCount), Params.QueryParameters));
119119
}
120120

121-
Ydb::Query::Syntax GetSyntax() const {
121+
NYdb::NQuery::ESyntax GetSyntax() const {
122122
switch (Params.QuerySyntax) {
123123
case FederatedQuery::QueryContent::PG:
124-
return Ydb::Query::SYNTAX_PG;
124+
return NYdb::NQuery::ESyntax::Pg;
125125
case FederatedQuery::QueryContent::YQL_V1:
126-
return Ydb::Query::SYNTAX_YQL_V1;
126+
return NYdb::NQuery::ESyntax::YqlV1;
127127
case FederatedQuery::QueryContent::QUERY_SYNTAX_UNSPECIFIED:
128128
case FederatedQuery::QueryContent_QuerySyntax_QueryContent_QuerySyntax_INT_MAX_SENTINEL_DO_NOT_USE_:
129129
case FederatedQuery::QueryContent_QuerySyntax_QueryContent_QuerySyntax_INT_MIN_SENTINEL_DO_NOT_USE_:
130-
return Ydb::Query::SYNTAX_UNSPECIFIED;
130+
return NYdb::NQuery::ESyntax::Unspecified;
131131
}
132132
}
133133

134-
Ydb::Query::ExecMode GetExecuteMode() const {
134+
NYdb::NQuery::EExecMode GetExecuteMode() const {
135135
switch (Params.ExecuteMode) {
136136
case FederatedQuery::RUN:
137-
return Ydb::Query::ExecMode::EXEC_MODE_EXECUTE;
137+
return NYdb::NQuery::EExecMode::Execute;
138138
case FederatedQuery::PARSE:
139-
return Ydb::Query::ExecMode::EXEC_MODE_PARSE;
139+
return NYdb::NQuery::EExecMode::Parse;
140140
case FederatedQuery::VALIDATE:
141-
return Ydb::Query::ExecMode::EXEC_MODE_VALIDATE;
141+
return NYdb::NQuery::EExecMode::Validate;
142142
case FederatedQuery::EXPLAIN:
143-
return Ydb::Query::ExecMode::EXEC_MODE_EXPLAIN;
143+
return NYdb::NQuery::EExecMode::Explain;
144144
case FederatedQuery::EXECUTE_MODE_UNSPECIFIED:
145145
case FederatedQuery::COMPILE:
146146
case FederatedQuery::SAVE:
147147
case FederatedQuery::ExecuteMode_INT_MAX_SENTINEL_DO_NOT_USE_:
148148
case FederatedQuery::ExecuteMode_INT_MIN_SENTINEL_DO_NOT_USE_:
149-
return Ydb::Query::ExecMode::EXEC_MODE_UNSPECIFIED;
149+
return NYdb::NQuery::EExecMode::Unspecified;
150150
}
151151
}
152152

@@ -163,7 +163,7 @@ class TExecuterActor : public TBaseComputeActor<TExecuterActor> {
163163

164164
private:
165165
TRunActorParams Params;
166-
Ydb::Query::StatsMode StatsMode;
166+
NYdb::NQuery::EStatsMode StatsMode;
167167
TActorId Parent;
168168
TActorId Connector;
169169
TActorId Pinger;
@@ -174,7 +174,7 @@ class TExecuterActor : public TBaseComputeActor<TExecuterActor> {
174174
};
175175

176176
std::unique_ptr<NActors::IActor> CreateExecuterActor(const TRunActorParams& params,
177-
Ydb::Query::StatsMode statsMode,
177+
NYdb::NQuery::EStatsMode statsMode,
178178
const TActorId& parent,
179179
const TActorId& connector,
180180
const TActorId& pinger,

ydb/core/fq/libs/compute/ydb/executer_actor.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66

77
#include <ydb/library/actors/core/actor.h>
88

9+
#include <ydb/public/sdk/cpp/client/ydb_query/query.h>
10+
911
namespace NFq {
1012

1113
std::unique_ptr<NActors::IActor> CreateExecuterActor(const TRunActorParams& params,
12-
Ydb::Query::StatsMode statsMode,
14+
NYdb::NQuery::EStatsMode statsMode,
1315
const NActors::TActorId& parent,
1416
const NActors::TActorId& connector,
1517
const NActors::TActorId& pinger,

ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,10 @@ class TResultWriterActor : public TBaseComputeActor<TResultWriterActor> {
327327

328328
for (const auto& resultSetMeta: ev.Get()->Get()->ResultSetsMeta) {
329329
auto& meta = *PingTaskRequest.add_result_set_meta();
330-
for (const auto& column: resultSetMeta.columns()) {
331-
*meta.add_column() = column;
330+
for (const auto& column: resultSetMeta.Columns) {
331+
auto& new_column = *meta.add_column();
332+
new_column.set_name(column.Name);
333+
*new_column.mutable_type() = column.Type.GetProto();
332334
}
333335
}
334336

ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ class TStatusTrackerActor : public TBaseComputeActor<TStatusTrackerActor> {
234234
}
235235

236236
void UpdateCpuQuota(double cpuUsage) {
237-
TDuration duration = TDuration::MicroSeconds(QueryStats.total_duration_us());
237+
TDuration duration = QueryStats.GetTotalDuration();
238238
if (cpuUsage && duration) {
239239
Send(NFq::ComputeDatabaseControlPlaneServiceActorId(), new TEvYdbCompute::TEvCpuQuotaAdjust(Params.Scope.ToString(), duration, cpuUsage));
240240
}
@@ -282,7 +282,7 @@ class TStatusTrackerActor : public TBaseComputeActor<TStatusTrackerActor> {
282282
NYdb::EStatus Status = NYdb::EStatus::SUCCESS;
283283
NYdb::NQuery::EExecStatus ExecStatus = NYdb::NQuery::EExecStatus::Unspecified;
284284
NYql::NDqProto::StatusIds::StatusCode StatusCode = NYql::NDqProto::StatusIds::StatusCode::StatusIds_StatusCode_UNSPECIFIED;
285-
Ydb::TableStats::QueryStats QueryStats;
285+
NYdb::NQuery::TExecStats QueryStats;
286286
NKikimr::TBackoffTimer BackoffTimer;
287287
NFq::TStatusCodeByScopeCounters::TPtr FailedStatusCodeCounters;
288288
FederatedQuery::QueryMeta::ComputeStatus ComputeStatus = FederatedQuery::QueryMeta::RUNNING;

ydb/core/kqp/ut/federated_query/s3/kqp_federated_query_ut.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) {
188188
auto result = session.ExecuteSchemeQuery(query).GetValueSync();
189189
UNIT_ASSERT_C(result.GetStatus() == NYdb::EStatus::SUCCESS, result.GetIssues().ToString());
190190

191-
auto settings = TExecuteScriptSettings().StatsMode(Ydb::Query::STATS_MODE_BASIC);
191+
auto settings = TExecuteScriptSettings().StatsMode(EStatsMode::Basic);
192192

193193
const TString sql = fmt::format(R"(
194194
SELECT * FROM `{external_table}`
@@ -201,12 +201,12 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) {
201201

202202
NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr->GetDriver());
203203
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed);
204-
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStats.compilation().from_cache(), false);
204+
UNIT_ASSERT_EQUAL(TProtoAccessor().GetProto(readyOp.Metadata().ExecStats).compilation().from_cache(), false);
205205

206206
scriptExecutionOperation = db.ExecuteScript(sql, settings).ExtractValueSync();
207207
readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr->GetDriver());
208208
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed);
209-
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStats.compilation().from_cache(), false);
209+
UNIT_ASSERT_EQUAL(TProtoAccessor().GetProto(readyOp.Metadata().ExecStats).compilation().from_cache(), false);
210210
}
211211

212212
Y_UNIT_TEST(ExecuteScriptWithDataSource) {

0 commit comments

Comments
 (0)