diff --git a/ydb/core/grpc_services/query/rpc_execute_query.cpp b/ydb/core/grpc_services/query/rpc_execute_query.cpp index 738c5ea52a41..7fb8985f2f3b 100644 --- a/ydb/core/grpc_services/query/rpc_execute_query.cpp +++ b/ydb/core/grpc_services/query/rpc_execute_query.cpp @@ -409,9 +409,7 @@ class TExecuteQueryRPC : public TActorBootstrapped { response.mutable_issues()->CopyFrom(issueMessage); TString out; Y_PROTOBUF_SUPPRESS_NODISCARD response.SerializeToString(&out); - const auto finishStreamFlag = NYdbGrpc::IRequestContextBase::EStreamCtrl::FINISH; - Request_->SendSerializedResult(std::move(out), record.GetYdbStatus(), finishStreamFlag); - this->PassAway(); + ReplySerializedAndFinishStream(record.GetYdbStatus(), std::move(out)); } } @@ -434,6 +432,12 @@ class TExecuteQueryRPC : public TActorBootstrapped { ReplyFinishStream(Ydb::StatusIds::INTERNAL_ERROR, issue); } + void ReplySerializedAndFinishStream(Ydb::StatusIds::StatusCode status, TString&& buf) { + const auto finishStreamFlag = NYdbGrpc::IRequestContextBase::EStreamCtrl::FINISH; + Request_->SendSerializedResult(std::move(buf), status, finishStreamFlag); + this->PassAway(); + } + void ReplyFinishStream(Ydb::StatusIds::StatusCode status, const NYql::TIssue& issue) { google::protobuf::RepeatedPtrField issuesMessage; NYql::IssueToMessage(issue, issuesMessage.Add());