diff options
author | va-kuznecov <va-kuznecov@ydb.tech> | 2023-08-21 19:34:40 +0300 |
---|---|---|
committer | va-kuznecov <va-kuznecov@ydb.tech> | 2023-08-21 20:15:52 +0300 |
commit | 8b42e7d25ee56081af89a967abfa1f690e880a50 (patch) | |
tree | 14661550a414b4b7e43b773b44df8b022b82093a | |
parent | 26e847611b34400069cb677a667ecd66dad8c486 (diff) | |
download | ydb-8b42e7d25ee56081af89a967abfa1f690e880a50.tar.gz |
Rework status handling in TableClient::ReadRows KIKIMR-18970
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp b/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp index 13c36b14a58..8360a6228b6 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp @@ -813,14 +813,14 @@ TAsyncReadRowsResult TTableClient::TImpl::ReadRows(const TString& path, TValue&& auto promise = NewPromise<TReadRowsResult>(); auto responseCb = [promise] (Ydb::Table::ReadRowsResponse* response, TPlainStatus status) mutable { - Ydb::ResultSet resultSet = response ? std::move(*response->mutable_result_set()) : Ydb::ResultSet{}; - // can be not ok in case of transport errors - if (status.Ok()) { - const Ydb::StatusIds::StatusCode msgStatus = response ? response->status() : Ydb::StatusIds::STATUS_CODE_UNSPECIFIED; + Ydb::ResultSet resultSet; + // if there is no response status contains transport errors + if (response) { + Ydb::StatusIds::StatusCode msgStatus = response->status(); NYql::TIssues issues; - if (response) - NYql::IssuesFromMessage(response->issues(), issues); + NYql::IssuesFromMessage(response->issues(), issues); status = TPlainStatus(static_cast<EStatus>(msgStatus), std::move(issues)); + resultSet = std::move(*response->mutable_result_set()); } TReadRowsResult val(TStatus(std::move(status)), std::move(resultSet)); promise.SetValue(std::move(val)); |