@@ -779,31 +779,34 @@ void MakeErrorReply(NJson::TJsonValue& jsonResponse, TString& message, const NYd
779
779
NYql::IssuesToMessage (status.GetIssues (), &protoIssues);
780
780
781
781
message.clear ();
782
+
783
+ NJson::TJsonValue& jsonIssues = jsonResponse[" issues" ];
784
+ for (const auto & queryIssue : protoIssues) {
785
+ NJson::TJsonValue& issue = jsonIssues.AppendValue ({});
786
+ NProtobufJson::Proto2Json (queryIssue, issue);
787
+ }
788
+
789
+ TString textStatus = TStringBuilder () << status.GetStatus ();
790
+ jsonResponse[" status" ] = textStatus;
791
+
782
792
// find first deepest error
783
793
std::stable_sort (protoIssues.begin (), protoIssues.end (), [](const Ydb::Issue::IssueMessage& a, const Ydb::Issue::IssueMessage& b) -> bool {
784
794
return a.severity () < b.severity ();
785
795
});
786
796
787
- while (protoIssues.size () > 0 && protoIssues[0 ].issuesSize () > 0 ) {
788
- protoIssues = protoIssues[0 ].issues ();
797
+ const google::protobuf::RepeatedPtrField<Ydb::Issue::IssueMessage>* protoIssuesPtr = &protoIssues;
798
+ while (protoIssuesPtr->size () > 0 && protoIssuesPtr->at (0 ).issuesSize () > 0 ) {
799
+ protoIssuesPtr = &protoIssuesPtr->at (0 ).issues ();
789
800
}
790
801
791
- if (protoIssues. size () > 0 ) {
792
- const Ydb::Issue::IssueMessage& issue = protoIssues[ 0 ] ;
802
+ if (protoIssuesPtr-> size () > 0 ) {
803
+ const Ydb::Issue::IssueMessage& issue = protoIssuesPtr-> at ( 0 ) ;
793
804
NProtobufJson::Proto2Json (issue, jsonResponse[" error" ]);
794
805
message = issue.message ();
806
+ } else {
807
+ jsonResponse[" error" ][" message" ] = textStatus;
795
808
}
796
809
797
- NJson::TJsonValue& jsonIssues = jsonResponse[" issues" ];
798
- for (const auto & queryIssue : protoIssues) {
799
- NJson::TJsonValue& issue = jsonIssues.AppendValue ({});
800
- NProtobufJson::Proto2Json (queryIssue, issue);
801
- }
802
-
803
- TString textStatus = TStringBuilder () << status.GetStatus ();
804
-
805
- jsonResponse[" status" ] = textStatus;
806
-
807
810
if (message.empty ()) {
808
811
message = textStatus;
809
812
}
0 commit comments