| 1019 | |
| 1020 | namespace { |
| 1021 | core::PlanNodePtr createLocalMergeNode( |
| 1022 | const core::PlanNodeId& id, |
| 1023 | const std::vector<std::string>& keys, |
| 1024 | std::vector<core::PlanNodePtr> sources, |
| 1025 | memory::MemoryPool* pool) { |
| 1026 | const auto& inputType = sources[0]->outputType(); |
| 1027 | auto [sortingKeys, sortingOrders] = |
| 1028 | parseOrderByClauses(keys, inputType, pool); |
| 1029 | |
| 1030 | return std::make_shared<core::LocalMergeNode>( |
| 1031 | id, std::move(sortingKeys), std::move(sortingOrders), std::move(sources)); |
| 1032 | } |
| 1033 | } // namespace |
| 1034 | |
| 1035 | PlanBuilder& PlanBuilder::localMerge(const std::vector<std::string>& keys) { |
no test coverage detected