|
@@ -33,11 +33,11 @@ public:
|
|
|
return NKikimrServices::TActivity::KQP_RESULT_CHANNEL_PROXY;
|
|
|
}
|
|
|
|
|
|
- TResultCommonChannelProxy(ui64 txId, ui64 channelId, TQueryExecutionStats* stats, TActorId executer)
|
|
|
+ TResultCommonChannelProxy(ui64 txId, ui64 channelId, std::shared_ptr<TQueryExecutionStats> stats, TActorId executer)
|
|
|
: TActor(&TResultCommonChannelProxy::WorkState)
|
|
|
, TxId(txId)
|
|
|
, ChannelId(channelId)
|
|
|
- , Stats(stats)
|
|
|
+ , Stats(std::move(stats))
|
|
|
, Executer(executer) {}
|
|
|
|
|
|
protected:
|
|
@@ -130,7 +130,7 @@ private:
|
|
|
private:
|
|
|
const ui64 TxId;
|
|
|
const ui64 ChannelId;
|
|
|
- TQueryExecutionStats* Stats; // owned by KqpExecuter
|
|
|
+ std::shared_ptr<TQueryExecutionStats> Stats; // owned by KqpExecuter
|
|
|
const NActors::TActorId Executer;
|
|
|
NActors::TActorId ComputeActor;
|
|
|
};
|
|
@@ -138,9 +138,9 @@ private:
|
|
|
class TResultStreamChannelProxy : public TResultCommonChannelProxy {
|
|
|
public:
|
|
|
TResultStreamChannelProxy(ui64 txId, ui64 channelId, NKikimr::NMiniKQL::TType* itemType,
|
|
|
- const TVector<ui32>* columnOrder, ui32 queryResultIndex, TActorId target, TQueryExecutionStats* stats,
|
|
|
+ const TVector<ui32>* columnOrder, ui32 queryResultIndex, TActorId target, std::shared_ptr<TQueryExecutionStats> stats,
|
|
|
TActorId executer)
|
|
|
- : TResultCommonChannelProxy(txId, channelId, stats, executer)
|
|
|
+ : TResultCommonChannelProxy(txId, channelId, std::move(stats), executer)
|
|
|
, ColumnOrder(columnOrder)
|
|
|
, ItemType(itemType)
|
|
|
, QueryResultIndex(queryResultIndex)
|
|
@@ -179,9 +179,9 @@ private:
|
|
|
|
|
|
class TResultDataChannelProxy : public TResultCommonChannelProxy {
|
|
|
public:
|
|
|
- TResultDataChannelProxy(ui64 txId, ui64 channelId, TQueryExecutionStats* stats, TActorId executer,
|
|
|
+ TResultDataChannelProxy(ui64 txId, ui64 channelId, std::shared_ptr<TQueryExecutionStats> stats, TActorId executer,
|
|
|
ui32 inputIndex, TEvKqpExecuter::TEvTxResponse* resultReceiver)
|
|
|
- : TResultCommonChannelProxy(txId, channelId, stats, executer)
|
|
|
+ : TResultCommonChannelProxy(txId, channelId, std::move(stats), executer)
|
|
|
, InputIndex(inputIndex)
|
|
|
, ResultReceiver(resultReceiver) {}
|
|
|
|
|
@@ -212,7 +212,7 @@ private:
|
|
|
} // anonymous namespace end
|
|
|
|
|
|
NActors::IActor* CreateResultStreamChannelProxy(ui64 txId, ui64 channelId, NKikimr::NMiniKQL::TType* itemType,
|
|
|
- const TVector<ui32>* columnOrder, ui32 queryResultIndex, TActorId target, TQueryExecutionStats* stats,
|
|
|
+ const TVector<ui32>* columnOrder, ui32 queryResultIndex, TActorId target, std::shared_ptr<TQueryExecutionStats> stats,
|
|
|
TActorId executer)
|
|
|
{
|
|
|
LOG_DEBUG_S(*NActors::TlsActivationContext, NKikimrServices::KQP_EXECUTER,
|
|
@@ -221,11 +221,11 @@ NActors::IActor* CreateResultStreamChannelProxy(ui64 txId, ui64 channelId, NKiki
|
|
|
);
|
|
|
|
|
|
return new TResultStreamChannelProxy(txId, channelId, itemType, columnOrder, queryResultIndex, target,
|
|
|
- stats, executer);
|
|
|
+ std::move(stats), executer);
|
|
|
}
|
|
|
|
|
|
NActors::IActor* CreateResultDataChannelProxy(ui64 txId, ui64 channelId,
|
|
|
- TQueryExecutionStats* stats, TActorId executer,
|
|
|
+ std::shared_ptr<TQueryExecutionStats> stats, TActorId executer,
|
|
|
ui32 inputIndex, TEvKqpExecuter::TEvTxResponse* resultsReceiver)
|
|
|
{
|
|
|
LOG_DEBUG_S(*NActors::TlsActivationContext, NKikimrServices::KQP_EXECUTER,
|
|
@@ -233,7 +233,7 @@ NActors::IActor* CreateResultDataChannelProxy(ui64 txId, ui64 channelId,
|
|
|
", channelId: " << channelId
|
|
|
);
|
|
|
|
|
|
- return new TResultDataChannelProxy(txId, channelId, stats, executer, inputIndex, resultsReceiver);
|
|
|
+ return new TResultDataChannelProxy(txId, channelId, std::move(stats), executer, inputIndex, resultsReceiver);
|
|
|
}
|
|
|
|
|
|
} // namespace NKqp
|