Skip to content

Commit 338f219

Browse files
committed
SDK skeleton
1 parent a82055f commit 338f219

File tree

2 files changed

+120
-0
lines changed
  • ydb/public/sdk/cpp

2 files changed

+120
-0
lines changed

ydb/public/sdk/cpp/include/ydb-cpp-sdk/client/table/table.h

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ class ColumnFamily;
2222
class CreateTableRequest;
2323
class Changefeed;
2424
class ChangefeedDescription;
25+
class DescribeExternalDataSourceResult;
26+
class DescribeExternalTableResult;
2527
class DescribeTableResult;
2628
class ExplicitPartitions;
2729
class GlobalIndexSettings;
@@ -2194,5 +2196,55 @@ class TReadRowsResult : public TStatus {
21942196
}
21952197
};
21962198

2199+
class TExternalDataSourceDescription {
2200+
class TImpl;
2201+
std::shared_ptr<TImpl> Impl_;
2202+
2203+
friend class NYdb::V3::TProtoAccessor;
2204+
const Ydb::Table::DescribeExternalDataSourceResult& GetProto() const;
2205+
2206+
public:
2207+
TExternalDataSourceDescription(Ydb::Table::DescribeExternalDataSourceResult&& description);
2208+
};
2209+
2210+
//! Represents the result of a DescribeExternalDataSource call.
2211+
class TDescribeExternalDataSourceResult : public NScheme::TDescribePathResult {
2212+
public:
2213+
TDescribeExternalDataSourceResult(
2214+
TStatus&& status,
2215+
Ydb::Table::DescribeExternalDataSourceResult&& description
2216+
);
2217+
2218+
TExternalDataSourceDescription GetExternalDataSourceDescription() const;
2219+
2220+
private:
2221+
TExternalDataSourceDescription ExternalDataSourceDescription_;
2222+
};
2223+
2224+
class TExternalTableDescription {
2225+
class TImpl;
2226+
std::shared_ptr<TImpl> Impl_;
2227+
2228+
friend class NYdb::V3::TProtoAccessor;
2229+
const Ydb::Table::DescribeExternalTableResult& GetProto() const;
2230+
2231+
public:
2232+
TExternalTableDescription(Ydb::Table::DescribeExternalTableResult&& description);
2233+
};
2234+
2235+
//! Represents the result of a DescribeExternalTable call.
2236+
class TDescribeExternalTableResult : public NScheme::TDescribePathResult {
2237+
public:
2238+
TDescribeExternalTableResult(
2239+
TStatus&& status,
2240+
Ydb::Table::DescribeExternalTableResult&& description
2241+
);
2242+
2243+
TExternalTableDescription GetExternalTableDescription() const;
2244+
2245+
private:
2246+
TExternalTableDescription ExternalTableDescription_;
2247+
};
2248+
21972249
} // namespace NTable
21982250
} // namespace NYdb

ydb/public/sdk/cpp/src/client/table/table.cpp

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3308,5 +3308,73 @@ TReadRowsResult::TReadRowsResult(TStatus&& status, TResultSet&& resultSet)
33083308
, ResultSet(std::move(resultSet))
33093309
{}
33103310

3311+
////////////////////////////////////////////////////////////////////////////////
3312+
3313+
class TExternalDataSourceDescription::TImpl {
3314+
Ydb::Table::DescribeExternalDataSourceResult Proto_;
3315+
3316+
public:
3317+
TImpl(Ydb::Table::DescribeExternalDataSourceResult&& description)
3318+
: Proto_(std::move(description))
3319+
{}
3320+
3321+
const Ydb::Table::DescribeExternalDataSourceResult& GetProto() const {
3322+
return Proto_;
3323+
}
3324+
};
3325+
3326+
TExternalDataSourceDescription::TExternalDataSourceDescription(Ydb::Table::DescribeExternalDataSourceResult&& description)
3327+
: Impl_(std::make_shared<TImpl>(std::move(description)))
3328+
{
3329+
}
3330+
3331+
const Ydb::Table::DescribeExternalDataSourceResult& TExternalDataSourceDescription::GetProto() const {
3332+
return Impl_->GetProto();
3333+
}
3334+
3335+
TDescribeExternalDataSourceResult::TDescribeExternalDataSourceResult(TStatus&& status, Ydb::Table::DescribeExternalDataSourceResult&& description)
3336+
: NScheme::TDescribePathResult(std::move(status), description.self())
3337+
, ExternalDataSourceDescription_(std::move(description))
3338+
{}
3339+
3340+
TExternalDataSourceDescription TDescribeExternalDataSourceResult::GetExternalDataSourceDescription() const {
3341+
CheckStatusOk("TDescribeExternalDataSourceResult::GetExternalDataSourceDescription");
3342+
return ExternalDataSourceDescription_;
3343+
}
3344+
3345+
////////////////////////////////////////////////////////////////////////////////
3346+
3347+
class TExternalTableDescription::TImpl {
3348+
Ydb::Table::DescribeExternalTableResult Proto_;
3349+
3350+
public:
3351+
TImpl(Ydb::Table::DescribeExternalTableResult&& description)
3352+
: Proto_(std::move(description))
3353+
{}
3354+
3355+
const Ydb::Table::DescribeExternalTableResult& GetProto() const {
3356+
return Proto_;
3357+
}
3358+
};
3359+
3360+
TExternalTableDescription::TExternalTableDescription(Ydb::Table::DescribeExternalTableResult&& description)
3361+
: Impl_(std::make_shared<TImpl>(std::move(description)))
3362+
{
3363+
}
3364+
3365+
const Ydb::Table::DescribeExternalTableResult& TExternalTableDescription::GetProto() const {
3366+
return Impl_->GetProto();
3367+
}
3368+
3369+
TDescribeExternalTableResult::TDescribeExternalTableResult(TStatus&& status, Ydb::Table::DescribeExternalTableResult&& description)
3370+
: NScheme::TDescribePathResult(std::move(status), description.self())
3371+
, ExternalTableDescription_(std::move(description))
3372+
{}
3373+
3374+
TExternalTableDescription TDescribeExternalTableResult::GetExternalTableDescription() const {
3375+
CheckStatusOk("TDescribeExternalTableResult::GetExternalTableDescription");
3376+
return ExternalTableDescription_;
3377+
}
3378+
33113379
} // namespace NTable
33123380
} // namespace NYdb

0 commit comments

Comments
 (0)