|
@@ -366,9 +366,10 @@ private:
|
|
|
void OnSinkPopFinished(TEvSinkPopFinished::TPtr& ev) {
|
|
|
auto guard = TaskRunner->BindAllocator();
|
|
|
NKikimr::NMiniKQL::TUnboxedValueBatch batch;
|
|
|
- for (auto& row: ev->Get()->Strings) {
|
|
|
- batch.emplace_back(NKikimr::NMiniKQL::MakeString(row));
|
|
|
- }
|
|
|
+ auto sink = TaskRunner->GetSink(ev->Get()->Index);
|
|
|
+ TDqDataSerializer dataSerializer(TaskRunner->GetTypeEnv(), TaskRunner->GetHolderFactory(), NDqProto::DATA_TRANSPORT_UV_PICKLE_1_0);
|
|
|
+ dataSerializer.Deserialize(std::move(ev->Get()->Batch), sink->GetOutputType(), batch);
|
|
|
+
|
|
|
Parent->SinkSend(
|
|
|
ev->Get()->Index,
|
|
|
std::move(batch),
|
|
@@ -390,7 +391,7 @@ private:
|
|
|
try {
|
|
|
// auto guard = taskRunner->BindAllocator(); // only for local mode
|
|
|
auto sink = taskRunner->GetSink(ev->Get()->Index);
|
|
|
- TVector<TString> batch;
|
|
|
+ NDq::TDqSerializedBatch batch;
|
|
|
NDqProto::TCheckpoint checkpoint;
|
|
|
TMaybe<NDqProto::TCheckpoint> maybeCheckpoint;
|
|
|
i64 size = 0;
|
|
@@ -408,7 +409,7 @@ private:
|
|
|
auto event = MakeHolder<TEvSinkPopFinished>(
|
|
|
ev->Get()->Index,
|
|
|
std::move(maybeCheckpoint), size, checkpointSize, finished, changed);
|
|
|
- event->Strings = std::move(batch);
|
|
|
+ event->Batch = std::move(batch);
|
|
|
// repack data and forward
|
|
|
actorSystem->Send(
|
|
|
new IEventHandle(
|