diff options
author | Ilnaz Nizametdinov <i.nizametdinov@gmail.com> | 2022-03-15 20:16:46 +0300 |
---|---|---|
committer | Ilnaz Nizametdinov <i.nizametdinov@gmail.com> | 2022-03-15 20:16:46 +0300 |
commit | cea1fe93d48662f39ad59510fe78c3987019a99e (patch) | |
tree | 7ad97c5c704f8d2ce184cedc01dbddec7ad70784 | |
parent | 8381bf8857262e458980421670b355f83f7524aa (diff) | |
download | ydb-cea1fe93d48662f39ad59510fe78c3987019a99e.tar.gz |
(refactoring) Print TStatus to stream YDB-1562
ref:5abdd20e834eb0942e852601120df86a04ba4eba
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/ydb_common.h | 17 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_types/status/status.cpp | 9 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_types/status/status.h | 2 |
3 files changed, 15 insertions, 13 deletions
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_common.h b/ydb/public/lib/ydb_cli/commands/ydb_common.h index 7561c6476e..647c09766a 100644 --- a/ydb/public/lib/ydb_cli/commands/ydb_common.h +++ b/ydb/public/lib/ydb_cli/commands/ydb_common.h @@ -13,12 +13,7 @@ public: { } friend IOutputStream& operator<<(IOutputStream& out, const TYdbErrorException& e) { - out << "Status: " << e.Status.GetStatus() << Endl; - if (e.Status.GetIssues()) { - out << "Issues: " << Endl; - e.Status.GetIssues().PrintTo(out); - } - return out; + return out << e.Status; } private: @@ -26,14 +21,10 @@ private: }; inline void ThrowOnError(NYdb::TStatus status) { - if (status.IsSuccess()) { - if (status.GetIssues()) { - Cerr << "Status: " << status.GetStatus() << Endl; - Cerr << "Issues: " << Endl; - status.GetIssues().PrintTo(Cerr); - } - } else { + if (!status.IsSuccess()) { throw TYdbErrorException(std::move(status)); + } else if (status.GetIssues()) { + Cerr << status; } } diff --git a/ydb/public/sdk/cpp/client/ydb_types/status/status.cpp b/ydb/public/sdk/cpp/client/ydb_types/status/status.cpp index d3f2ca05af..20f4d9d47d 100644 --- a/ydb/public/sdk/cpp/client/ydb_types/status/status.cpp +++ b/ydb/public/sdk/cpp/client/ydb_types/status/status.cpp @@ -72,6 +72,15 @@ float TStatus::GetConsumedRu() const { return Impl_->Status.ConstInfo.consumed_units(); } +IOutputStream& operator<<(IOutputStream& out, const TStatus& st) { + out << "Status: " << st.GetStatus() << Endl; + if (st.GetIssues()) { + out << "Issues: " << Endl; + st.GetIssues().PrintTo(out); + } + return out; +} + //////////////////////////////////////////////////////////////////////////////// TStreamPartStatus::TStreamPartStatus(TStatus&& status) diff --git a/ydb/public/sdk/cpp/client/ydb_types/status/status.h b/ydb/public/sdk/cpp/client/ydb_types/status/status.h index 7185a03964..ba0d7460bf 100644 --- a/ydb/public/sdk/cpp/client/ydb_types/status/status.h +++ b/ydb/public/sdk/cpp/client/ydb_types/status/status.h @@ -27,6 +27,8 @@ public: const std::multimap<TStringType, TStringType>& GetResponseMetadata() const; float GetConsumedRu() const; + friend IOutputStream& operator<<(IOutputStream& out, const TStatus& st); + protected: void CheckStatusOk(const TStringType& str) const; void RaiseError(const TStringType& str) const; |