| 24 | } |
| 25 | |
| 26 | static void copyEvaluatedDataToResult(ValueVector& resultVector, |
| 27 | evaluator::ListLambdaBindData* bindData) { |
| 28 | auto& sliceInfo = *bindData->sliceInfo; |
| 29 | auto dstDataVector = ListVector::getDataVector(&resultVector); |
| 30 | auto rootResultVector = bindData->rootEvaluator->resultVector.get(); |
| 31 | for (sel_t i = 0; i < sliceInfo.getSliceSize(); ++i) { |
| 32 | const auto [listEntryPos, dataOffset] = sliceInfo.getPos(i); |
| 33 | const auto srcIdx = bindData->lambdaParamEvaluators.empty() ? 0 : i; |
| 34 | sel_t srcPos = rootResultVector->state->getSelVector()[srcIdx]; |
| 35 | dstDataVector->copyFromVectorData(dataOffset, rootResultVector, srcPos); |
| 36 | dstDataVector->setNull(dataOffset, rootResultVector->isNull(srcPos)); |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | static void copyListEntriesToResult(const ValueVector& inputVector, |
| 41 | const SelectionVector& inputSelVector, ValueVector& result) { |
no test coverage detected