aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorva-kuznecov <va-kuznecov@ydb.tech>2023-08-21 19:34:40 +0300
committerva-kuznecov <va-kuznecov@ydb.tech>2023-08-21 20:15:52 +0300
commit8b42e7d25ee56081af89a967abfa1f690e880a50 (patch)
tree14661550a414b4b7e43b773b44df8b022b82093a
parent26e847611b34400069cb677a667ecd66dad8c486 (diff)
downloadydb-8b42e7d25ee56081af89a967abfa1f690e880a50.tar.gz
Rework status handling in TableClient::ReadRows KIKIMR-18970
-rw-r--r--ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp12
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));