@@ -124,6 +124,7 @@ class TBeginTransactionRPC : public TActorBootstrapped<TBeginTransactionRPC> {
124
124
if (kqpResponse.HasTxMeta ()) {
125
125
beginTxResult->mutable_tx_meta ()->set_id (kqpResponse.GetTxMeta ().id ());
126
126
}
127
+ *beginTxResult->mutable_issues () = issueMessage;
127
128
}
128
129
129
130
Reply (record.GetYdbStatus (), beginTxResult);
@@ -168,7 +169,7 @@ class TFinishTransactionRPC : public TActorBootstrapped<TFinishTransactionRPC>
168
169
private:
169
170
virtual std::pair<TString, TString> GetReqData () const = 0;
170
171
virtual void Fill (NKikimrKqp::TQueryRequest* req) const = 0;
171
- virtual NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status) const = 0;
172
+ virtual NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status, const NYql::TIssues& issues ) const = 0;
172
173
173
174
void StateWork (TAutoPtr<IEventHandle>& ev) {
174
175
try {
@@ -218,15 +219,15 @@ class TFinishTransactionRPC : public TActorBootstrapped<TFinishTransactionRPC>
218
219
const auto & record = ev->Get ()->Record .GetRef ();
219
220
FillCommonKqpRespFields (record, Request.get ());
220
221
222
+ NYql::TIssues issues;
221
223
if (record.HasResponse ()) {
222
224
const auto & kqpResponse = record.GetResponse ();
223
225
const auto & issueMessage = kqpResponse.GetQueryIssues ();
224
- NYql::TIssues issues;
225
226
NYql::IssuesFromMessage (issueMessage, issues);
226
227
Request->RaiseIssues (issues);
227
228
}
228
229
229
- Reply (record.GetYdbStatus (), CreateResult (record.GetYdbStatus ()));
230
+ Reply (record.GetYdbStatus (), CreateResult (record.GetYdbStatus (), issues ));
230
231
}
231
232
232
233
void InternalError (const TString& message) {
@@ -271,9 +272,10 @@ class TCommitTransactionRPC : public TFinishTransactionRPC {
271
272
req->MutableTxControl ()->set_commit_tx (true );
272
273
}
273
274
274
- NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status) const override {
275
+ NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status, const NYql::TIssues& issues ) const override {
275
276
auto result = TEvCommitTransactionRequest::AllocateResult<Ydb::Query::CommitTransactionResponse>(Request);
276
277
result->set_status (status);
278
+ NYql::IssuesToMessage (issues, result->mutable_issues ());
277
279
return result;
278
280
}
279
281
};
@@ -293,9 +295,10 @@ class TRollbackTransactionRPC : public TFinishTransactionRPC {
293
295
req->SetAction (NKikimrKqp::QUERY_ACTION_ROLLBACK_TX);
294
296
}
295
297
296
- NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status) const override {
298
+ NProtoBuf::Message* CreateResult (Ydb::StatusIds::StatusCode status, const NYql::TIssues& issues ) const override {
297
299
auto result = TEvRollbackTransactionRequest::AllocateResult<Ydb::Query::RollbackTransactionResponse>(Request);
298
300
result->set_status (status);
301
+ NYql::IssuesToMessage (issues, result->mutable_issues ());
299
302
return result;
300
303
}
301
304
};
0 commit comments