| 107 | } |
| 108 | |
| 109 | Result<std::vector<const HashAggregateKernel*>> GetKernels( |
| 110 | ExecContext* ctx, const std::vector<Aggregate>& aggregates, |
| 111 | const std::vector<std::vector<TypeHolder>>& in_types) { |
| 112 | if (aggregates.size() != in_types.size()) { |
| 113 | return Status::Invalid(aggregates.size(), " aggregate functions were specified but ", |
| 114 | in_types.size(), " arguments were provided."); |
| 115 | } |
| 116 | |
| 117 | std::vector<const HashAggregateKernel*> kernels(in_types.size()); |
| 118 | for (size_t i = 0; i < aggregates.size(); ++i) { |
| 119 | ARROW_ASSIGN_OR_RAISE(kernels[i], GetKernel(ctx, aggregates[i], in_types[i])); |
| 120 | } |
| 121 | return kernels; |
| 122 | } |
| 123 | |
| 124 | Result<std::vector<std::unique_ptr<KernelState>>> InitKernels( |
| 125 | const std::vector<const HashAggregateKernel*>& kernels, ExecContext* ctx, |
nothing calls this directly
no test coverage detected