diff options
author | grigoriypisar <grigoriypisar@yandex-team.com> | 2023-07-12 15:27:10 +0300 |
---|---|---|
committer | grigoriypisar <grigoriypisar@yandex-team.com> | 2023-07-12 15:27:10 +0300 |
commit | 3aef944f32ba65f0bb01cb9e2590f885b5c4ca31 (patch) | |
tree | 435c9c793702632f163cb877d5adb5c103e45052 | |
parent | f27f66d3f14a5fb160298391d5ee408dd636ef93 (diff) | |
download | ydb-3aef944f32ba65f0bb01cb9e2590f885b5c4ca31.tar.gz |
Remove execution_id identification from FetchScriptResults.
Removed execution id.
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/actors_factory.cpp | 4 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/actors_factory.h | 2 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/events/events.h | 6 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp | 24 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/result_writer_actor.h | 2 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp | 2 | ||||
-rw-r--r-- | ydb/core/fq/libs/compute/ydb/ydb_run_actor.cpp | 4 | ||||
-rw-r--r-- | ydb/core/grpc_services/query/rpc_fetch_script_results.cpp | 20 | ||||
-rw-r--r-- | ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp | 14 | ||||
-rw-r--r-- | ydb/core/kqp/ut/service/kqp_query_service_ut.cpp | 31 | ||||
-rw-r--r-- | ydb/public/api/protos/ydb_query.proto | 5 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_query/client.cpp | 21 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_query/client.h | 5 |
13 files changed, 52 insertions, 88 deletions
diff --git a/ydb/core/fq/libs/compute/ydb/actors_factory.cpp b/ydb/core/fq/libs/compute/ydb/actors_factory.cpp index 6f299dd6aa..f347334d46 100644 --- a/ydb/core/fq/libs/compute/ydb/actors_factory.cpp +++ b/ydb/core/fq/libs/compute/ydb/actors_factory.cpp @@ -53,8 +53,8 @@ struct TActorFactory : public IActorFactory { std::unique_ptr<NActors::IActor> CreateResultWriter(const NActors::TActorId& parent, const NActors::TActorId& connector, const NActors::TActorId& pinger, - const TString& executionId) const override { - return CreateResultWriterActor(Params, parent, connector, pinger, executionId, Counters); + const NKikimr::NOperationId::TOperationId& operationId) const override { + return CreateResultWriterActor(Params, parent, connector, pinger, operationId, Counters); } std::unique_ptr<NActors::IActor> CreateResourcesCleaner(const NActors::TActorId& parent, diff --git a/ydb/core/fq/libs/compute/ydb/actors_factory.h b/ydb/core/fq/libs/compute/ydb/actors_factory.h index 64292e0156..afbdbb13ae 100644 --- a/ydb/core/fq/libs/compute/ydb/actors_factory.h +++ b/ydb/core/fq/libs/compute/ydb/actors_factory.h @@ -26,7 +26,7 @@ struct IActorFactory : public TThrRefBase { virtual std::unique_ptr<NActors::IActor> CreateResultWriter(const NActors::TActorId& parent, const NActors::TActorId& connector, const NActors::TActorId& pinger, - const TString& executionId) const = 0; + const NKikimr::NOperationId::TOperationId& operationId) const = 0; virtual std::unique_ptr<NActors::IActor> CreateResourcesCleaner(const NActors::TActorId& parent, const NActors::TActorId& connector, const NYdb::TOperation::TOperationId& operationId) const = 0; diff --git a/ydb/core/fq/libs/compute/ydb/events/events.h b/ydb/core/fq/libs/compute/ydb/events/events.h index e6e88325ce..ffb01be9eb 100644 --- a/ydb/core/fq/libs/compute/ydb/events/events.h +++ b/ydb/core/fq/libs/compute/ydb/events/events.h @@ -100,13 +100,13 @@ struct TEvYdbCompute { }; struct TEvFetchScriptResultRequest : public NActors::TEventLocal<TEvFetchScriptResultRequest, EvFetchScriptResultRequest> { - TEvFetchScriptResultRequest(TString executionId, int64_t resultSetId, const TString& fetchToken) - : ExecutionId(std::move(executionId)) + TEvFetchScriptResultRequest(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId, const TString& fetchToken) + : OperationId(operationId) , ResultSetId(resultSetId) , FetchToken(fetchToken) {} - TString ExecutionId; + NKikimr::NOperationId::TOperationId OperationId; int64_t ResultSetId = 0; TString FetchToken; }; diff --git a/ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp b/ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp index e2bc818868..43bb445fc8 100644 --- a/ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp +++ b/ydb/core/fq/libs/compute/ydb/result_writer_actor.cpp @@ -22,11 +22,11 @@ #include <library/cpp/actors/core/log.h> #include <library/cpp/protobuf/interop/cast.h> -#define LOG_E(stream) LOG_ERROR_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " ExecutionId: " << ExecutionId << " " << stream) -#define LOG_W(stream) LOG_WARN_S( *TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " ExecutionId: " << ExecutionId << " " << stream) -#define LOG_I(stream) LOG_INFO_S( *TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " ExecutionId: " << ExecutionId << " " << stream) -#define LOG_D(stream) LOG_DEBUG_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " ExecutionId: " << ExecutionId << " " << stream) -#define LOG_T(stream) LOG_TRACE_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " ExecutionId: " << ExecutionId << " " << stream) +#define LOG_E(stream) LOG_ERROR_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " OperationId: " << ProtoToString(OperationId) << " " << stream) +#define LOG_W(stream) LOG_WARN_S( *TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " OperationId: " << ProtoToString(OperationId) << " " << stream) +#define LOG_I(stream) LOG_INFO_S( *TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " OperationId: " << ProtoToString(OperationId) << " " << stream) +#define LOG_D(stream) LOG_DEBUG_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " OperationId: " << ProtoToString(OperationId) << " " << stream) +#define LOG_T(stream) LOG_TRACE_S(*TlsActivationContext, NKikimrServices::FQ_RUN_ACTOR, "[ydb] [ResultWriter] QueryId: " << Params.QueryId << " OperationId: " << ProtoToString(OperationId) << " " << stream) namespace NFq { @@ -65,13 +65,13 @@ public: } }; - TResultWriterActor(const TRunActorParams& params, const TActorId& parent, const TActorId& connector, const TActorId& pinger, const TString& executionId, const ::NYql::NCommon::TServiceCounters& queryCounters) + TResultWriterActor(const TRunActorParams& params, const TActorId& parent, const TActorId& connector, const TActorId& pinger, const NKikimr::NOperationId::TOperationId& operationId, const ::NYql::NCommon::TServiceCounters& queryCounters) : TBaseComputeActor(queryCounters, "ResultWriter") , Params(params) , Parent(parent) , Connector(connector) , Pinger(pinger) - , ExecutionId(executionId) + , OperationId(operationId) , Counters(GetStepCountersSubgroup()) {} @@ -101,7 +101,7 @@ public: } else { pingCounters->Error->Inc(); LOG_E("Move result error"); - Send(Parent, new TEvYdbCompute::TEvResultWriterResponse(NYql::TIssues{NYql::TIssue{TStringBuilder{} << "Move result error. ExecutionId: " << ExecutionId}}, NYdb::EStatus::INTERNAL_ERROR)); + Send(Parent, new TEvYdbCompute::TEvResultWriterResponse(NYql::TIssues{NYql::TIssue{TStringBuilder{} << "Move result error. OperationId: " << ProtoToString(OperationId)}}, NYdb::EStatus::INTERNAL_ERROR)); FailedAndPassAway(); } } @@ -167,7 +167,7 @@ public: auto fetchScriptResultCounters = Counters.GetCounters(ERequestType::RT_FETCH_SCRIPT_RESULT); fetchScriptResultCounters->InFly->Inc(); StartTime = TInstant::Now(); - Register(new TRetryActor<TEvYdbCompute::TEvFetchScriptResultRequest, TEvYdbCompute::TEvFetchScriptResultResponse, TString, int64_t, TString>(Counters.GetCounters(ERequestType::RT_FETCH_SCRIPT_RESULT), SelfId(), Connector, ExecutionId, 0, FetchToken)); + Register(new TRetryActor<TEvYdbCompute::TEvFetchScriptResultRequest, TEvYdbCompute::TEvFetchScriptResultResponse, NKikimr::NOperationId::TOperationId, int64_t, TString>(Counters.GetCounters(ERequestType::RT_FETCH_SCRIPT_RESULT), SelfId(), Connector, OperationId, 0, FetchToken)); } void SendFinalPingRequest() { @@ -192,7 +192,7 @@ private: TActorId Parent; TActorId Connector; TActorId Pinger; - TString ExecutionId; + NKikimr::NOperationId::TOperationId OperationId; TCounters Counters; TInstant StartTime; int64_t Offset = 0; @@ -204,9 +204,9 @@ std::unique_ptr<NActors::IActor> CreateResultWriterActor(const TRunActorParams& const TActorId& parent, const TActorId& connector, const TActorId& pinger, - const TString& executionId, + const NKikimr::NOperationId::TOperationId& operationId, const ::NYql::NCommon::TServiceCounters& queryCounters) { - return std::make_unique<TResultWriterActor>(params, parent, connector, pinger, executionId, queryCounters); + return std::make_unique<TResultWriterActor>(params, parent, connector, pinger, operationId, queryCounters); } } diff --git a/ydb/core/fq/libs/compute/ydb/result_writer_actor.h b/ydb/core/fq/libs/compute/ydb/result_writer_actor.h index 82418704f4..a87c0967d3 100644 --- a/ydb/core/fq/libs/compute/ydb/result_writer_actor.h +++ b/ydb/core/fq/libs/compute/ydb/result_writer_actor.h @@ -12,7 +12,7 @@ std::unique_ptr<NActors::IActor> CreateResultWriterActor(const TRunActorParams& const NActors::TActorId& parent, const NActors::TActorId& connector, const NActors::TActorId& pinger, - const TString& executionId, + const NKikimr::NOperationId::TOperationId& operationId, const ::NYql::NCommon::TServiceCounters& queryCounters); } diff --git a/ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp b/ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp index 225d8f34cc..46af0743fe 100644 --- a/ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp +++ b/ydb/core/fq/libs/compute/ydb/ydb_connector_actor.cpp @@ -80,7 +80,7 @@ public: NYdb::NQuery::TFetchScriptResultsSettings settings; settings.FetchToken(ev->Get()->FetchToken); QueryClient - ->FetchScriptResults(ev->Get()->ExecutionId, ev->Get()->ResultSetId, settings) + ->FetchScriptResults(ev->Get()->OperationId, ev->Get()->ResultSetId, settings) .Apply([actorSystem = NActors::TActivationContext::ActorSystem(), recipient = ev->Sender, cookie = ev->Cookie](auto future) { try { auto response = future.ExtractValueSync(); diff --git a/ydb/core/fq/libs/compute/ydb/ydb_run_actor.cpp b/ydb/core/fq/libs/compute/ydb/ydb_run_actor.cpp index a415510075..877d6d2864 100644 --- a/ydb/core/fq/libs/compute/ydb/ydb_run_actor.cpp +++ b/ydb/core/fq/libs/compute/ydb/ydb_run_actor.cpp @@ -92,7 +92,7 @@ public: ExecStatus = response.ExecStatus; LOG_I("StatusTrackerResponse (success) " << response.Status << " ExecStatus: " << static_cast<int>(response.ExecStatus) << " Issues: " << response.Issues.ToOneLineString()); if (response.ExecStatus == NYdb::NQuery::EExecStatus::Completed) { - Register(ActorFactory->CreateResultWriter(SelfId(), Connector, Pinger, Params.ExecutionId).release()); + Register(ActorFactory->CreateResultWriter(SelfId(), Connector, Pinger, Params.OperationId).release()); } else { Register(ActorFactory->CreateResourcesCleaner(SelfId(), Connector, Params.OperationId).release()); } @@ -163,7 +163,7 @@ public: break; case FederatedQuery::QueryMeta::COMPLETING: if (Params.OperationId.GetKind() != Ydb::TOperationId::UNUSED) { - Register(ActorFactory->CreateResultWriter(SelfId(), Connector, Pinger, Params.ExecutionId).release()); + Register(ActorFactory->CreateResultWriter(SelfId(), Connector, Pinger, Params.OperationId).release()); } else { Register(ActorFactory->CreateFinalizer(SelfId(), Pinger, ExecStatus).release()); } diff --git a/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp b/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp index a9f8d0d4e0..3cf59b683e 100644 --- a/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp +++ b/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp @@ -128,24 +128,12 @@ private: } bool GetExecutionIdFromRequest() { - switch (GetProtoRequest()->execution_case()) { - case Ydb::Query::FetchScriptResultsRequest::kExecutionId: - ExecutionId = GetProtoRequest()->execution_id(); - break; - case Ydb::Query::FetchScriptResultsRequest::kOperationId: - { - TMaybe<TString> executionId = NKqp::ScriptExecutionIdFromOperation(GetProtoRequest()->operation_id()); - if (!executionId) { - Reply(Ydb::StatusIds::BAD_REQUEST, "Invalid operation id"); - return false; - } - ExecutionId = *executionId; - break; - } - case Ydb::Query::FetchScriptResultsRequest::EXECUTION_NOT_SET: - Reply(Ydb::StatusIds::BAD_REQUEST, "No execution id"); + TMaybe<TString> executionId = NKqp::ScriptExecutionIdFromOperation(GetProtoRequest()->operation_id()); + if (!executionId) { + Reply(Ydb::StatusIds::BAD_REQUEST, "Invalid operation id"); return false; } + ExecutionId = *executionId; return true; } diff --git a/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp b/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp index 02596b6e12..1d7a7400da 100644 --- a/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp +++ b/ydb/core/kqp/ut/federated_query/kqp_federated_query_ut.cpp @@ -129,7 +129,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -254,7 +254,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -328,7 +328,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -392,7 +392,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -471,7 +471,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -524,7 +524,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecStatus, EExecStatus::Completed); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); @@ -596,7 +596,7 @@ Y_UNIT_TEST_SUITE(KqpFederatedQuery) { NYdb::NQuery::TScriptExecutionOperation readyOp = WaitScriptExecutionOperation(scriptExecutionOperation.Id(), kikimr.GetDriver()); TFetchScriptResultsResult results(TStatus(EStatus::SUCCESS, {})); if (readyOp.Metadata().ExecStatus == EExecStatus::Completed) { - results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); } return {readyOp, results}; diff --git a/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp b/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp index ca7714f20f..b5fe150cc6 100644 --- a/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp +++ b/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp @@ -390,18 +390,13 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecutionId, scriptExecutionOperation.Metadata().ExecutionId); UNIT_ASSERT_STRING_CONTAINS(readyOp.Metadata().ScriptContent.Text, "SELECT 42"); - auto checkFetch = [&](const auto& executionOrOperation) { - TFetchScriptResultsResult results = db.FetchScriptResults(executionOrOperation, 0).ExtractValueSync(); - UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); - TResultSetParser resultSet(results.ExtractResultSet()); - UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnsCount(), 1); - UNIT_ASSERT_VALUES_EQUAL(resultSet.RowsCount(), 1); - UNIT_ASSERT(resultSet.TryNextRow()); - UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnParser(0).GetInt32(), 42); - }; - - checkFetch(scriptExecutionOperation.Metadata().ExecutionId); - checkFetch(scriptExecutionOperation); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); + UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); + TResultSetParser resultSet(results.ExtractResultSet()); + UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnsCount(), 1); + UNIT_ASSERT_VALUES_EQUAL(resultSet.RowsCount(), 1); + UNIT_ASSERT(resultSet.TryNextRow()); + UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnParser(0).GetInt32(), 42); } Y_UNIT_TEST(ExecuteMultiScript) { @@ -421,7 +416,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { UNIT_ASSERT_STRING_CONTAINS(readyOp.Metadata().ScriptContent.Text, "SELECT 42; SELECT 101;"); { - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnsCount(), 1); @@ -430,7 +425,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnParser(0).GetInt32(), 42); } { - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Metadata().ExecutionId, 1).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 1).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); UNIT_ASSERT_VALUES_EQUAL(resultSet.ColumnsCount(), 1); @@ -537,7 +532,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecutionId, scriptExecutionOperation.Metadata().ExecutionId); UNIT_ASSERT_EQUAL(readyOp.Metadata().ScriptContent.Syntax, ESyntax::Pg); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation, 0).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); CompareYson(R"([ @@ -992,7 +987,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { auto settings = TFetchScriptResultsSettings(); settings.FetchToken("?"); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation, 0, settings).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0, settings).ExtractValueSync(); UNIT_ASSERT_VALUES_EQUAL(results.GetStatus(), EStatus::BAD_REQUEST); } @@ -1006,7 +1001,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { auto settings = TFetchScriptResultsSettings(); settings.RowsLimit(NUMBER_OF_ROWS); - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation, 0, settings).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0, settings).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); UNIT_ASSERT(results.GetNextFetchToken().Empty()); @@ -1027,7 +1022,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { constexpr size_t NUMBER_OF_TESTS = 3; for (size_t i = 0; i < NUMBER_OF_TESTS && (i + 1) * ROWS_LIMIT <= NUMBER_OF_ROWS; ++i) { - TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation, 0, settings).ExtractValueSync(); + TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0, settings).ExtractValueSync(); UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString()); TResultSetParser resultSet(results.ExtractResultSet()); diff --git a/ydb/public/api/protos/ydb_query.proto b/ydb/public/api/protos/ydb_query.proto index 4431c4a9eb..2aee0799de 100644 --- a/ydb/public/api/protos/ydb_query.proto +++ b/ydb/public/api/protos/ydb_query.proto @@ -252,10 +252,7 @@ message ExecuteScriptMetadata { } message FetchScriptResultsRequest { - oneof execution { - string execution_id = 1 [(Ydb.length).le = 1024]; - string operation_id = 5 [(Ydb.length).le = 1024]; - } + string operation_id = 5 [(Ydb.length).le = 1024]; int64 result_set_id = 6; diff --git a/ydb/public/sdk/cpp/client/ydb_query/client.cpp b/ydb/public/sdk/cpp/client/ydb_query/client.cpp index 40f2d211b1..8bb7ab73e7 100644 --- a/ydb/public/sdk/cpp/client/ydb_query/client.cpp +++ b/ydb/public/sdk/cpp/client/ydb_query/client.cpp @@ -72,16 +72,9 @@ public: return promise.GetFuture(); } - TAsyncFetchScriptResultsResult FetchScriptResults(const TString& executionId, int64_t resultSetId, const TFetchScriptResultsSettings& settings) { + TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId, const TFetchScriptResultsSettings& settings) { auto request = MakeRequest<Ydb::Query::FetchScriptResultsRequest>(); - request.set_execution_id(executionId); - request.set_result_set_id(resultSetId); - return FetchScriptResultsImpl(std::move(request), settings); - } - - TAsyncFetchScriptResultsResult FetchScriptResults(const TScriptExecutionOperation& scriptExecutionOperation, int64_t resultSetId, const TFetchScriptResultsSettings& settings) { - auto request = MakeRequest<Ydb::Query::FetchScriptResultsRequest>(); - request.set_operation_id(NKikimr::NOperationId::ProtoToString(scriptExecutionOperation.Id())); + request.set_operation_id(NKikimr::NOperationId::ProtoToString(operationId)); request.set_result_set_id(resultSetId); return FetchScriptResultsImpl(std::move(request), settings); } @@ -174,16 +167,10 @@ NThreading::TFuture<TScriptExecutionOperation> TQueryClient::ExecuteScript(const return Impl_->ExecuteScript(script, settings); } -TAsyncFetchScriptResultsResult TQueryClient::FetchScriptResults(const TString& executionId, int64_t resultSetId, - const TFetchScriptResultsSettings& settings) -{ - return Impl_->FetchScriptResults(executionId, resultSetId, settings); -} - -TAsyncFetchScriptResultsResult TQueryClient::FetchScriptResults(const TScriptExecutionOperation& scriptExecutionOperation, int64_t resultSetId, +TAsyncFetchScriptResultsResult TQueryClient::FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId, const TFetchScriptResultsSettings& settings) { - return Impl_->FetchScriptResults(scriptExecutionOperation, resultSetId, settings); + return Impl_->FetchScriptResults(operationId, resultSetId, settings); } } // namespace NYdb::NQuery diff --git a/ydb/public/sdk/cpp/client/ydb_query/client.h b/ydb/public/sdk/cpp/client/ydb_query/client.h index 719dca0709..e927289e2c 100644 --- a/ydb/public/sdk/cpp/client/ydb_query/client.h +++ b/ydb/public/sdk/cpp/client/ydb_query/client.h @@ -42,10 +42,7 @@ public: NThreading::TFuture<TScriptExecutionOperation> ExecuteScript(const TString& script, const TExecuteScriptSettings& settings = TExecuteScriptSettings()); - TAsyncFetchScriptResultsResult FetchScriptResults(const TString& executionId, int64_t resultSetId, - const TFetchScriptResultsSettings& settings = TFetchScriptResultsSettings()); - - TAsyncFetchScriptResultsResult FetchScriptResults(const TScriptExecutionOperation& scriptExecutionOperation, int64_t resultSetId, + TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId, const TFetchScriptResultsSettings& settings = TFetchScriptResultsSettings()); private: |