| 341 | } |
| 342 | |
| 343 | Status Validate() const override { |
| 344 | ARROW_RETURN_NOT_OK(ExecNode::Validate()); |
| 345 | if (output_ != nullptr) { |
| 346 | return Status::Invalid("Consuming sink node '", label(), "' has an output"); |
| 347 | } |
| 348 | if (inputs_[0]->ordering().is_unordered() && !!sequencer_) { |
| 349 | return Status::Invalid("Consuming sink node '", label(), |
| 350 | "' is configured to sequence output but there is no " |
| 351 | "meaningful ordering in the input"); |
| 352 | } |
| 353 | return Status::OK(); |
| 354 | } |
| 355 | |
| 356 | // sink nodes have no outputs from which to feel backpressure |
| 357 | [[noreturn]] static void NoOutputs() { |