| 1101 | } |
| 1102 | |
| 1103 | Status Exec(const ExecSpan& span, ExecListener* listener) { |
| 1104 | ExecResult out; |
| 1105 | ARROW_ASSIGN_OR_RAISE(out.value, PrepareOutput(span.length)); |
| 1106 | if (kernel_->null_handling == NullHandling::INTERSECTION) { |
| 1107 | RETURN_NOT_OK(PropagateNulls(kernel_ctx_, span, out.array_data().get())); |
| 1108 | } |
| 1109 | RETURN_NOT_OK(kernel_->exec(kernel_ctx_, span, &out)); |
| 1110 | return EmitResult(out.array_data(), listener); |
| 1111 | } |
| 1112 | |
| 1113 | Status ExecChunked(const ExecBatch& batch, ExecListener* listener) { |
| 1114 | RETURN_NOT_OK(CheckCanExecuteChunked(kernel_)); |
nothing calls this directly
no test coverage detected