Skip to content

Commit 904e4cd

Browse files
committed
Fixes
1 parent dde41da commit 904e4cd

File tree

9 files changed

+28
-35
lines changed

9 files changed

+28
-35
lines changed

ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -512,15 +512,19 @@ void TCommandExecuteQuery::PrintDataQueryResponse(NTable::TDataQueryResult& resu
512512
}
513513
} // TResultSetPrinter destructor should be called before printing stats
514514

515-
TMaybe<TString> statsStr;
516-
TMaybe<TString> plan;
517-
TMaybe<TString> ast;
518-
TMaybe<TString> meta;
515+
std::optional<std::string> statsStr;
516+
std::optional<std::string> plan;
517+
std::optional<std::string> ast;
518+
std::optional<std::string> meta;
519519

520520
const std::optional<NTable::TQueryStats>& stats = result.GetStats();
521521
if (stats.has_value()) {
522-
meta = stats->GetMeta();
523-
plan = stats->GetPlan();
522+
if (stats->GetMeta()) {
523+
meta = stats->GetMeta();
524+
}
525+
if (stats->GetPlan()) {
526+
plan = stats->GetPlan();
527+
}
524528
ast = stats->GetAst();
525529
statsStr = stats->ToString();
526530
Cout << Endl << "Statistics:" << Endl << statsStr;
@@ -771,10 +775,10 @@ int TCommandExecuteQuery::ExecuteQueryImpl(TConfig& config) {
771775

772776
template <typename TIterator>
773777
bool TCommandExecuteQuery::PrintQueryResponse(TIterator& result) {
774-
TMaybe<TString> stats;
778+
std::optional<std::string> stats;
775779
std::optional<std::string> fullStats;
776-
TMaybe<TString> meta;
777-
TMaybe<TString> ast;
780+
std::optional<std::string> meta;
781+
std::optional<std::string> ast;
778782
{
779783
TResultSetPrinter printer(OutputFormat, &IsInterrupted);
780784

ydb/public/lib/ydb_cli/commands/ydb_sql.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ int TCommandSql::PrintResponse(NQuery::TExecuteQueryIterator& result) {
188188
std::optional<std::string> stats;
189189
std::optional<std::string> plan;
190190
std::optional<std::string> ast;
191-
TMaybe<TString> meta;
191+
std::optional<std::string> meta;
192192
{
193193
TResultSetPrinter printer(OutputFormat, &IsInterrupted);
194194

ydb/public/sdk/cpp/client/ydb_query/stats.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ TString TExecStats::ToString(bool withPlan) const {
2929
if (!withPlan) {
3030
proto.clear_query_plan();
3131
proto.clear_query_ast();
32-
proto.clear_query_meta();
3332
}
3433

3534
TString res;
@@ -57,16 +56,6 @@ TMaybe<TString> TExecStats::GetAst() const {
5756
return proto.query_ast();
5857
}
5958

60-
TMaybe<TString> TExecStats::GetMeta() const {
61-
auto proto = Impl_->Proto;
62-
63-
if (proto.query_meta().empty()) {
64-
return {};
65-
}
66-
67-
return proto.query_meta();
68-
}
69-
7059
TDuration TExecStats::GetTotalDuration() const {
7160
return TDuration::MicroSeconds(Impl_->Proto.total_duration_us());
7261
}

ydb/public/sdk/cpp/client/ydb_query/stats.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class TExecStats {
3333

3434
TMaybe<TString> GetPlan() const;
3535
TMaybe<TString> GetAst() const;
36-
TMaybe<TString> GetMeta() const;
3736

3837
TDuration GetTotalDuration() const;
3938
TDuration GetTotalCpuTime() const;

ydb/public/sdk/cpp/client/ydb_table/impl/readers.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,17 @@ TAsyncScanQueryPart TScanQueryPartIterator::TReaderImpl::ReadNext(std::shared_pt
8282
TPlainStatus plainStatus{clientStatus, std::move(issues), self->Endpoint_, {}};
8383
TStatus status{std::move(plainStatus)};
8484
TMaybe<TQueryStats> queryStats;
85+
TMaybe<TString> diagnostics;
8586

8687
if (self->Response_.result().has_query_stats()) {
8788
queryStats = TQueryStats(self->Response_.result().query_stats());
8889
}
8990

9091
if (self->Response_.result().has_result_set()) {
9192
promise.SetValue({std::move(status),
92-
TResultSet(std::move(*self->Response_.mutable_result()->mutable_result_set())), queryStats});
93+
TResultSet(std::move(*self->Response_.mutable_result()->mutable_result_set())), queryStats, diagnostics});
9394
} else {
94-
promise.SetValue({std::move(status), queryStats});
95+
promise.SetValue({std::move(status), queryStats, diagnostics});
9596
}
9697
}
9798
};

ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,6 +1017,7 @@ TFuture<std::pair<TPlainStatus, TTableClient::TImpl::TScanQueryProcessorPtr>> TT
10171017
}
10181018

10191019
request.set_collect_stats(GetStatsCollectionMode(settings.CollectQueryStats_));
1020+
request.set_collect_full_diagnostics(settings.CollectFullDiagnostics_);
10201021

10211022
auto promise = NewPromise<std::pair<TPlainStatus, TScanQueryProcessorPtr>>();
10221023

ydb/public/sdk/cpp/client/ydb_table/query_stats/stats.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ namespace NTable {
3535
enum class ECollectQueryStatsMode {
3636
None = 0, // Stats collection is disabled
3737
Basic = 1, // Aggregated stats of reads, updates and deletes per table
38-
Full = 2, // Add per-stage execution profile and diagnostics on top of Basic mode
38+
Full = 2, // Add per-stage execution profile and query plan on top of Basic mode
3939
Profile = 3 // Detailed execution stats including stats for individual tasks and channels
4040
};
4141

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2211,14 +2211,6 @@ const TString TDataQueryResult::GetQueryPlan() const {
22112211
}
22122212
}
22132213

2214-
const TString TDataQueryResult::GetMeta() const {
2215-
if (QueryStats_.Defined()) {
2216-
return NYdb::TProtoAccessor::GetProto(*QueryStats_.Get()).query_meta();
2217-
} else {
2218-
return "";
2219-
}
2220-
}
2221-
22222214
////////////////////////////////////////////////////////////////////////////////
22232215

22242216
TBeginTransactionResult::TBeginTransactionResult(TStatus&& status, TTransaction transaction)

ydb/public/sdk/cpp/client/ydb_table/table.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2117,24 +2117,31 @@ class TScanQueryPart : public TStreamPartStatus {
21172117
const TQueryStats& GetQueryStats() const { return *QueryStats_; }
21182118
TQueryStats ExtractQueryStats() { return std::move(*QueryStats_); }
21192119

2120+
bool HasDiagnostics() const { return Diagnostics_.Defined(); }
2121+
const TString& GetDiagnostics() const { return *Diagnostics_; }
2122+
TString&& ExtractDiagnostics() { return std::move(*Diagnostics_); }
2123+
21202124
TScanQueryPart(TStatus&& status)
21212125
: TStreamPartStatus(std::move(status))
21222126
{}
21232127

2124-
TScanQueryPart(TStatus&& status, const TMaybe<TQueryStats>& queryStats)
2128+
TScanQueryPart(TStatus&& status, const TMaybe<TQueryStats>& queryStats, const TMaybe<TString>& diagnostics)
21252129
: TStreamPartStatus(std::move(status))
21262130
, QueryStats_(queryStats)
2131+
, Diagnostics_(diagnostics)
21272132
{}
21282133

2129-
TScanQueryPart(TStatus&& status, TResultSet&& resultSet, const TMaybe<TQueryStats>& queryStats)
2134+
TScanQueryPart(TStatus&& status, TResultSet&& resultSet, const TMaybe<TQueryStats>& queryStats, const TMaybe<TString>& diagnostics)
21302135
: TStreamPartStatus(std::move(status))
21312136
, ResultSet_(std::move(resultSet))
21322137
, QueryStats_(queryStats)
2138+
, Diagnostics_(diagnostics)
21332139
{}
21342140

21352141
private:
21362142
TMaybe<TResultSet> ResultSet_;
21372143
TMaybe<TQueryStats> QueryStats_;
2144+
TMaybe<TString> Diagnostics_;
21382145
};
21392146

21402147
using TAsyncScanQueryPart = NThreading::TFuture<TScanQueryPart>;

0 commit comments

Comments
 (0)