| 30 | } |
| 31 | |
| 32 | void PatternExpressionEvaluator::resolveResultVector(const ResultSet& resultSet, |
| 33 | MemoryManager* memoryManager) { |
| 34 | const auto& dataType = expression->getDataType(); |
| 35 | resultVector = std::make_shared<ValueVector>(dataType.copy(), memoryManager); |
| 36 | std::vector<ExpressionEvaluator*> inputEvaluators; |
| 37 | inputEvaluators.reserve(children.size()); |
| 38 | for (auto& child : children) { |
| 39 | parameters.push_back(child->resultVector); |
| 40 | inputEvaluators.push_back(child.get()); |
| 41 | } |
| 42 | resolveResultStateFromChildren(inputEvaluators); |
| 43 | initFurther(resultSet); |
| 44 | } |
| 45 | |
| 46 | void PatternExpressionEvaluator::initFurther(const ResultSet&) { |
| 47 | StructPackFunctions::compileFunc(nullptr, parameters, resultVector); |