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

Method NullPropagator

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

Source from the content-addressed store, hash-verified

527class NullPropagator {
528 public:
529 NullPropagator(KernelContext* ctx, const ExecSpan& batch, ArrayData* output)
530 : ctx_(ctx), batch_(batch), output_(output) {
531 for (const ExecValue& value : batch_.values) {
532 auto null_generalization = NullGeneralization::Get(value);
533 if (null_generalization == NullGeneralization::ALL_NULL) {
534 is_all_null_ = true;
535 }
536 if (null_generalization != NullGeneralization::ALL_VALID && value.is_array()) {
537 arrays_with_nulls_.push_back(&value.array);
538 }
539 }
540 if (output->buffers[0] != nullptr) {
541 bitmap_preallocated_ = true;
542 bitmap_ = output_->buffers[0]->mutable_data();
543 }
544 }
545
546 Status EnsureAllocated() {
547 if (bitmap_preallocated_) {

Callers

nothing calls this directly

Calls 4

is_arrayMethod · 0.80
push_backMethod · 0.80
GetFunction · 0.70
mutable_dataMethod · 0.45

Tested by

no test coverage detected