MCPcopy Create free account
hub / github.com/apache/arrow-rs / logical_nulls

Method logical_nulls

arrow-array/src/array/dictionary_array.rs:741–760  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

739 }
740
741 fn logical_nulls(&self) -> Option<NullBuffer> {
742 match self.values.logical_nulls() {
743 None => self.nulls().cloned(),
744 Some(value_nulls) => {
745 let mut builder = BooleanBufferBuilder::new(self.len());
746 match self.keys.nulls() {
747 Some(n) => builder.append_buffer(n.inner()),
748 None => builder.append_n(self.len(), true),
749 }
750 for (idx, k) in self.keys.values().iter().enumerate() {
751 let k = k.as_usize();
752 // Check range to allow for nulls
753 if k < value_nulls.len() && value_nulls.is_null(k) {
754 builder.set_bit(idx, false);
755 }
756 }
757 Some(builder.finish().into())
758 }
759 }
760 }
761
762 fn logical_null_count(&self) -> usize {
763 match (self.keys.nulls(), self.values.logical_nulls()) {

Callers 1

logical_null_countMethod · 0.45

Calls 11

as_usizeMethod · 0.80
nullsMethod · 0.45
lenMethod · 0.45
append_bufferMethod · 0.45
innerMethod · 0.45
append_nMethod · 0.45
iterMethod · 0.45
valuesMethod · 0.45
is_nullMethod · 0.45
set_bitMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected