@@ -283,6 +283,10 @@ int TCommandDescribe::PrintPathResponse(TDriver& driver, const NScheme::TDescrib
283
283
return DescribeReplication (driver);
284
284
case NScheme::ESchemeEntryType::View:
285
285
return DescribeView (driver);
286
+ case NScheme::ESchemeEntryType::ExternalDataSource:
287
+ return DescribeExternalDataSource (driver);
288
+ case NScheme::ESchemeEntryType::ExternalTable:
289
+ return DescribeExternalTable (driver);
286
290
default :
287
291
return DescribeEntryDefault (entry);
288
292
}
@@ -615,6 +619,36 @@ int TCommandDescribe::DescribeView(const TDriver& driver) {
615
619
return PrintDescription (this , OutputFormat, result, &TCommandDescribe::PrintViewResponsePretty);
616
620
}
617
621
622
+ int TCommandDescribe::PrintExternalDataSourceResponsePretty (const NYdb::NTable::TExternalDataSourceDescription& description) const {
623
+ Cout << " \n Properties:\n " << " to be done..." << Endl;
624
+ return EXIT_SUCCESS;
625
+ }
626
+
627
+ int TCommandDescribe::DescribeExternalDataSource (const TDriver& driver) {
628
+ NTable::TTableClient client (driver);
629
+ const auto sessionResult = client.CreateSession ().ExtractValueSync ();
630
+ NStatusHelpers::ThrowOnErrorOrPrintIssues (sessionResult);
631
+ const auto description = sessionResult.GetSession ().DescribeExternalDataSource (Path).ExtractValueSync ();
632
+ NStatusHelpers::ThrowOnErrorOrPrintIssues (description);
633
+
634
+ return PrintDescription (this , OutputFormat, description.GetExternalDataSourceDescription (), &TCommandDescribe::PrintExternalDataSourceResponsePretty);
635
+ }
636
+
637
+ int TCommandDescribe::PrintExternalTableResponsePretty (const NYdb::NTable::TExternalTableDescription& description) const {
638
+ Cout << " \n Properties:\n " << " to be done..." << Endl;
639
+ return EXIT_SUCCESS;
640
+ }
641
+
642
+ int TCommandDescribe::DescribeExternalTable (const TDriver& driver) {
643
+ NTable::TTableClient client (driver);
644
+ const auto sessionResult = client.CreateSession ().ExtractValueSync ();
645
+ NStatusHelpers::ThrowOnErrorOrPrintIssues (sessionResult);
646
+ const auto result = sessionResult.GetSession ().DescribeExternalTable (Path).ExtractValueSync ();
647
+ NStatusHelpers::ThrowOnErrorOrPrintIssues (result);
648
+
649
+ return PrintDescription (this , OutputFormat, result.GetExternalTableDescription (), &TCommandDescribe::PrintExternalTableResponsePretty);
650
+ }
651
+
618
652
namespace {
619
653
void PrintColumns (const NTable::TTableDescription& tableDescription) {
620
654
if (!tableDescription.GetTableColumns ().size ()) {
0 commit comments