@@ -558,7 +558,7 @@ namespace {
558
558
NQuery::TExecuteQuerySettings>;
559
559
560
560
template <typename TClient>
561
- auto GetSettings (const TString& collectStatsMode, const bool basicStats, std::optional<TDuration> timeout) {
561
+ auto GetSettings (const TString& collectStatsMode, const bool basicStats, std::optional<TDuration> timeout, bool collectFullDiagnostics ) {
562
562
if constexpr (std::is_same_v<TClient, NTable::TTableClient>) {
563
563
const auto defaultStatsMode = basicStats
564
564
? NTable::ECollectQueryStatsMode::Basic
@@ -568,7 +568,7 @@ namespace {
568
568
if (timeout.has_value ()) {
569
569
settings.ClientTimeout (*timeout);
570
570
}
571
- if (CollectFullDiagnostics ) {
571
+ if (collectFullDiagnostics ) {
572
572
settings.CollectFullDiagnostics (true );
573
573
}
574
574
return settings;
@@ -581,7 +581,7 @@ namespace {
581
581
if (timeout.has_value ()) {
582
582
settings.ClientTimeout (*timeout);
583
583
}
584
- if (CollectFullDiagnostics ) {
584
+ if (collectFullDiagnostics ) {
585
585
settings.CollectFullDiagnostics (true );
586
586
}
587
587
return settings;
@@ -690,7 +690,7 @@ int TCommandExecuteQuery::ExecuteQueryImpl(TConfig& config) {
690
690
if (OperationTimeout) {
691
691
optTimeout = TDuration::MilliSeconds (FromString<ui64>(OperationTimeout));
692
692
}
693
- const auto settings = GetSettings<TClient>(CollectStatsMode, BasicStats, optTimeout);
693
+ const auto settings = GetSettings<TClient>(CollectStatsMode, BasicStats, optTimeout, CollectFullDiagnostics );
694
694
695
695
TAsyncPartIterator<TClient> asyncResult;
696
696
SetInterruptHandlers ();
@@ -748,6 +748,7 @@ template <typename TIterator>
748
748
bool TCommandExecuteQuery::PrintQueryResponse (TIterator& result) {
749
749
TMaybe<TString> stats;
750
750
TMaybe<TString> fullStats;
751
+ TString diagnostics;
751
752
{
752
753
TResultSetPrinter printer (OutputFormat, &IsInterrupted);
753
754
@@ -770,7 +771,7 @@ bool TCommandExecuteQuery::PrintQueryResponse(TIterator& result) {
770
771
}
771
772
}
772
773
773
- if ()
774
+ diagnostics = streamPart. GetDiagnostics ();
774
775
}
775
776
} // TResultSetPrinter destructor should be called before printing stats
776
777
@@ -788,7 +789,7 @@ bool TCommandExecuteQuery::PrintQueryResponse(TIterator& result) {
788
789
if (CollectFullDiagnostics)
789
790
{
790
791
TFileOutput file (TStringBuilder () << " diagnostics_" << TGUID::Create ().AsGuidString () << " .txt" );
791
- file << result. GetDiagnostics () ;
792
+ file << diagnostics ;
792
793
}
793
794
794
795
PrintFlameGraph (fullStats);
0 commit comments