MCPcopy Create free account
hub / github.com/apache/arrow / ExecuteSingleSpan

Method ExecuteSingleSpan

cpp/src/arrow/compute/exec.cc:880–895  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

878 }
879
880 Status ExecuteSingleSpan(const ExecSpan& input, ExecResult* out) {
881 ArraySpan* result_span = out->array_span_mutable();
882 if (output_type_.type->id() == Type::NA) {
883 result_span->null_count = result_span->length;
884 } else if (kernel_->null_handling == NullHandling::INTERSECTION) {
885 if (!elide_validity_bitmap_) {
886 PropagateNullsSpans(input, result_span);
887 }
888 } else if (kernel_->null_handling == NullHandling::OUTPUT_NOT_NULL) {
889 result_span->null_count = 0;
890 }
891 RETURN_NOT_OK(kernel_->exec(kernel_ctx_, input, out));
892 // Output type didn't change
893 DCHECK(out->is_array_span());
894 return Status::OK();
895 }
896
897 Status ExecuteNonSpans(ExecListener* listener) {
898 // ARROW-16756: Kernel is going to allocate some memory and so

Callers

nothing calls this directly

Calls 3

PropagateNullsSpansFunction · 0.85
OKFunction · 0.50
idMethod · 0.45

Tested by

no test coverage detected