@@ -323,6 +323,7 @@ struct TEvaluationGraphInfo {
323323 NActors::TActorId ResultId;
324324 NThreading::TPromise<NYql::IDqGateway::TResult> Result;
325325 ui64 Index = 0 ;
326+ TMaybe<NCommon::TResultFormatSettings> ResultFormatSettings;
326327};
327328
328329class TRunActor : public NActors ::TActorBootstrapped<TRunActor> {
@@ -1279,7 +1280,7 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
12791280
12801281 LOG_D (" Query evaluation " << NYql::NDqProto::StatusIds_StatusCode_Name (QueryEvalStatusCode)
12811282 << " . " << it->second .Index << " response. Issues count: " << result.IssuesSize ()
1282- << " . Rows count: " << result.GetRowsCount ());
1283+ << " . Rows count: " << result.GetRowsCount () << " , Sample count: " << result. SampleSize () << " , Truncated: " << result. GetTruncated () );
12831284
12841285 TVector<NDq::TDqSerializedBatch> rows;
12851286 for (const auto & s : result.GetSample ()) {
@@ -1288,11 +1289,12 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
12881289 rows.emplace_back (std::move (batch));
12891290 }
12901291
1291- TProtoBuilder protoBuilder (ResultFormatSettings->ResultType , ResultFormatSettings->Columns );
1292+ const auto & resultFormatSettings = it->second .ResultFormatSettings ;
1293+ TProtoBuilder protoBuilder (resultFormatSettings->ResultType , resultFormatSettings->Columns );
12921294
12931295 bool ysonTruncated = false ;
1294- queryResult.Data = protoBuilder.BuildYson (std::move (rows), ResultFormatSettings ->SizeLimit .GetOrElse (Max<ui64>()),
1295- ResultFormatSettings ->RowsLimit .GetOrElse (Max<ui64>()), &ysonTruncated);
1296+ queryResult.Data = protoBuilder.BuildYson (std::move (rows), resultFormatSettings ->SizeLimit .GetOrElse (Max<ui64>()),
1297+ resultFormatSettings ->RowsLimit .GetOrElse (Max<ui64>()), &ysonTruncated);
12961298
12971299 queryResult.RowsCount = result.GetRowsCount ();
12981300 queryResult.Truncated = result.GetTruncated () || ysonTruncated;
@@ -1546,7 +1548,7 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
15461548 *request.MutableSettings () = dqGraphParams.GetSettings ();
15471549 *request.MutableSecureParams () = dqGraphParams.GetSecureParams ();
15481550 *request.MutableColumns () = dqGraphParams.GetColumns ();
1549- PrepareResultFormatSettings (dqGraphParams, *dqConfiguration);
1551+ PrepareResultFormatSettings (info. ResultFormatSettings , dqGraphParams, *dqConfiguration);
15501552 NTasksPacker::UnPack (*request.MutableTask (), dqGraphParams.GetTasks (), dqGraphParams.GetStageProgram ());
15511553 Send (info.ExecuterId , new NYql::NDqs::TEvGraphRequest (request, info.ControlId , info.ResultId ));
15521554 LOG_D (" Evaluation Executer: " << info.ExecuterId << " , Controller: " << info.ControlId << " , ResultActor: " << info.ResultId );
@@ -1585,7 +1587,7 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
15851587 ExecuterId, dqGraphParams.GetResultType (),
15861588 writerResultId, columns, dqGraphParams.GetSession (), Params.Deadline , Params.ResultBytesLimit ));
15871589
1588- PrepareResultFormatSettings (dqGraphParams, *dqConfiguration);
1590+ PrepareResultFormatSettings (ResultFormatSettings, dqGraphParams, *dqConfiguration);
15891591 } else {
15901592 LOG_D (" ResultWriter was NOT CREATED since ResultType is empty" );
15911593 resultId = ExecuterId;
@@ -1652,15 +1654,15 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
16521654 LOG_D (" Executer: " << ExecuterId << " , Controller: " << ControlId << " , ResultIdActor: " << resultId);
16531655 }
16541656
1655- void PrepareResultFormatSettings (NFq::NProto::TGraphParams& dqGraphParams, const TDqConfiguration& dqConfiguration) {
1656- ResultFormatSettings .ConstructInPlace ();
1657+ void PrepareResultFormatSettings (TMaybe<NCommon::TResultFormatSettings>& resultFormatSettings, NFq::NProto::TGraphParams& dqGraphParams, const TDqConfiguration& dqConfiguration) {
1658+ resultFormatSettings .ConstructInPlace ();
16571659 for (const auto & c : dqGraphParams.GetColumns ()) {
1658- ResultFormatSettings ->Columns .push_back (c);
1660+ resultFormatSettings ->Columns .push_back (c);
16591661 }
16601662
1661- ResultFormatSettings ->ResultType = dqGraphParams.GetResultType ();
1662- ResultFormatSettings ->SizeLimit = dqConfiguration._AllResultsBytesLimit .Get ();
1663- ResultFormatSettings ->RowsLimit = dqConfiguration._RowsLimitPerWrite .Get ();
1663+ resultFormatSettings ->ResultType = dqGraphParams.GetResultType ();
1664+ resultFormatSettings ->SizeLimit = dqConfiguration._AllResultsBytesLimit .Get ();
1665+ resultFormatSettings ->RowsLimit = dqConfiguration._RowsLimitPerWrite .Get ();
16641666 }
16651667
16661668 void ClearResultFormatSettings () {
0 commit comments