aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlnaz Nizametdinov <ilnaz@ydb.tech>2024-03-06 11:46:47 +0300
committerGitHub <noreply@github.com>2024-03-06 11:46:47 +0300
commit8945dcc074687117fc1b8b730c360de78e624e21 (patch)
tree7781df536d0424803e9e76127ab16c7f4c309ab2
parent30387be54c0e79bddb96a8ca15836f41baf93d00 (diff)
downloadydb-8945dcc074687117fc1b8b730c360de78e624e21.tar.gz
Printable status & results (#2446)
-rw-r--r--ydb/public/sdk/cpp/client/ydb_scheme/scheme.cpp47
-rw-r--r--ydb/public/sdk/cpp/client/ydb_scheme/scheme.h8
-rw-r--r--ydb/public/sdk/cpp/client/ydb_table/table.cpp8
-rw-r--r--ydb/public/sdk/cpp/client/ydb_topic/impl/topic.cpp8
-rw-r--r--ydb/public/sdk/cpp/client/ydb_types/status/status.cpp10
-rw-r--r--ydb/public/sdk/cpp/client/ydb_types/status/status.h1
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: