diff options
author | Ilnaz Nizametdinov <ilnaz@ydb.tech> | 2024-03-06 11:46:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-06 11:46:47 +0300 |
commit | 8945dcc074687117fc1b8b730c360de78e624e21 (patch) | |
tree | 7781df536d0424803e9e76127ab16c7f4c309ab2 | |
parent | 30387be54c0e79bddb96a8ca15836f41baf93d00 (diff) | |
download | ydb-8945dcc074687117fc1b8b730c360de78e624e21.tar.gz |
Printable status & results (#2446)
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp | 47 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_scheme/scheme.h | 8 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_table/table.cpp | 8 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp | 8 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_types/status/status.cpp | 10 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_types/status/status.h | 1 |
6 files changed, 77 insertions, 5 deletions
diff --git a/ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp b/ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp index 2c03d50ddd..256d04f016 100644 --- a/ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp +++ b/ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp @@ -9,6 +9,8 @@ #include <ydb/public/api/protos/ydb_scheme.pb.h> #include <ydb/public/sdk/cpp/client/ydb_common_client/impl/client.h> +#include <util/string/join.h> + namespace NYdb { namespace NScheme { @@ -31,10 +33,10 @@ TString TVirtualTimestamp::ToString() const { return result; } -void TVirtualTimestamp::Out(IOutputStream& o) const { - o << "{ plan_step: " << PlanStep - << ", tx_id: " << TxId - << " }"; +void TVirtualTimestamp::Out(IOutputStream& out) const { + out << "{ plan_step: " << PlanStep + << ", tx_id: " << TxId + << " }"; } bool TVirtualTimestamp::operator<(const TVirtualTimestamp& rhs) const { @@ -109,6 +111,15 @@ TSchemeEntry::TSchemeEntry(const ::Ydb::Scheme::Entry& proto) PermissionToSchemeEntry(proto.permissions(), &Permissions); } +void TSchemeEntry::Out(IOutputStream& out) const { + out << "{ name: " << Name + << ", owner: " << Owner + << ", type: " << Type + << ", size_bytes: " << SizeBytes + << ", created_at: " << CreatedAt + << " }"; +} + class TSchemeClient::TImpl : public TClientImplCommon<TSchemeClient::TImpl> { public: TImpl(std::shared_ptr<TGRpcConnectionsImpl>&& connections, const TCommonClientSettings& settings) @@ -250,6 +261,14 @@ const TSchemeEntry& TDescribePathResult::GetEntry() const { return Entry_; } +void TDescribePathResult::Out(IOutputStream& out) const { + if (IsSuccess()) { + return Entry_.Out(out); + } else { + return TStatus::Out(out); + } +} + //////////////////////////////////////////////////////////////////////////////// TListDirectoryResult::TListDirectoryResult(TStatus&& status, const TSchemeEntry& self, TVector<TSchemeEntry>&& children) @@ -262,6 +281,14 @@ const TVector<TSchemeEntry>& TListDirectoryResult::GetChildren() const { return Children_; } +void TListDirectoryResult::Out(IOutputStream& out) const { + if (IsSuccess()) { + out << "{ children [" << JoinSeq(", ", Children_) << "] }"; + } else { + return TStatus::Out(out); + } +} + //////////////////////////////////////////////////////////////////////////////// TSchemeClient::TSchemeClient(const TDriver& driver, const TCommonClientSettings& settings) @@ -298,3 +325,15 @@ TAsyncStatus TSchemeClient::ModifyPermissions(const TString& path, Y_DECLARE_OUT_SPEC(, NYdb::NScheme::TVirtualTimestamp, o, x) { return x.Out(o); } + +Y_DECLARE_OUT_SPEC(, NYdb::NScheme::TSchemeEntry, o, x) { + return x.Out(o); +} + +Y_DECLARE_OUT_SPEC(, NYdb::NScheme::TDescribePathResult, o, x) { + return x.Out(o); +} + +Y_DECLARE_OUT_SPEC(, NYdb::NScheme::TListDirectoryResult, o, x) { + return x.Out(o); +} diff --git a/ydb/public/sdk/cpp/client/ydb_scheme/scheme.h b/ydb/public/sdk/cpp/client/ydb_scheme/scheme.h index 8244ea1bb7..3b4c27de09 100644 --- a/ydb/public/sdk/cpp/client/ydb_scheme/scheme.h +++ b/ydb/public/sdk/cpp/client/ydb_scheme/scheme.h @@ -54,7 +54,7 @@ struct TVirtualTimestamp { TVirtualTimestamp(const ::Ydb::VirtualTimestamp& proto); TString ToString() const; - void Out(IOutputStream& o) const; + void Out(IOutputStream& out) const; bool operator<(const TVirtualTimestamp& rhs) const; bool operator<=(const TVirtualTimestamp& rhs) const; @@ -75,6 +75,8 @@ struct TSchemeEntry { TSchemeEntry() = default; TSchemeEntry(const ::Ydb::Scheme::Entry& proto); + + void Out(IOutputStream& out) const; }; //////////////////////////////////////////////////////////////////////////////// @@ -163,6 +165,8 @@ public: TDescribePathResult(TStatus&& status, const TSchemeEntry& entry); const TSchemeEntry& GetEntry() const; + void Out(IOutputStream& out) const; + private: TSchemeEntry Entry_; }; @@ -172,6 +176,8 @@ public: TListDirectoryResult(TStatus&& status, const TSchemeEntry& self, TVector<TSchemeEntry>&& children); const TVector<TSchemeEntry>& GetChildren() const; + void Out(IOutputStream& out) const; + private: TVector<TSchemeEntry> Children_; }; diff --git a/ydb/public/sdk/cpp/client/ydb_table/table.cpp b/ydb/public/sdk/cpp/client/ydb_table/table.cpp index 647cae8973..c1ed9537b3 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/table.cpp +++ b/ydb/public/sdk/cpp/client/ydb_table/table.cpp @@ -2849,3 +2849,11 @@ TReadRowsResult::TReadRowsResult(TStatus&& status, TResultSet&& resultSet) } // namespace NTable } // namespace NYdb + +Y_DECLARE_OUT_SPEC(, NYdb::NTable::TCreateSessionResult, o, x) { + return x.Out(o); +} + +Y_DECLARE_OUT_SPEC(, NYdb::NTable::TDescribeTableResult, o, x) { + return x.Out(o); +} diff --git a/ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp b/ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp index 32a4fb30f6..eebd65e7e8 100644 --- a/ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp +++ b/ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp @@ -480,3 +480,11 @@ TAsyncStatus TTopicClient::CommitOffset(const TString& path, ui64 partitionId, c } } // namespace NYdb::NTopic + +Y_DECLARE_OUT_SPEC(, NYdb::NTopic::TDescribeTopicResult, o, x) { + return x.Out(o); +} + +Y_DECLARE_OUT_SPEC(, NYdb::NTopic::TDescribeConsumerResult, o, x) { + return x.Out(o); +} 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 20f4d9d47d..59f1c21767 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,12 @@ float TStatus::GetConsumedRu() const { return Impl_->Status.ConstInfo.consumed_units(); } +void TStatus::Out(IOutputStream& out) const { + out << "{ status: " << GetStatus() + << ", issues: " << GetIssues().ToOneLineString() + << " }"; +} + IOutputStream& operator<<(IOutputStream& out, const TStatus& st) { out << "Status: " << st.GetStatus() << Endl; if (st.GetIssues()) { @@ -92,3 +98,7 @@ bool TStreamPartStatus::EOS() const { } } // namespace NYdb + +Y_DECLARE_OUT_SPEC(, NYdb::TStatus, o, x) { + return x.Out(o); +} 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 ba0d7460bf..d29628cda9 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,7 @@ public: const std::multimap<TStringType, TStringType>& GetResponseMetadata() const; float GetConsumedRu() const; + void Out(IOutputStream& out) const; friend IOutputStream& operator<<(IOutputStream& out, const TStatus& st); protected: |