MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / validity_or_all_true

Method validity_or_all_true

nodedb-columnar/src/memtable/column_data/access.rs:16–35  ·  view source on GitHub ↗

Get the validity bitmap, or generate an all-true one for non-nullable columns. For segment writing — we always need a validity slice for the block encoder. Non-nullable columns return a freshly generated all-true vec (cheap, happens once per flush, not per row).

(&self)

Source from the content-addressed store, hash-verified

14 /// Non-nullable columns return a freshly generated all-true vec (cheap, happens
15 /// once per flush, not per row).
16 pub(crate) fn validity_or_all_true(&self) -> std::borrow::Cow<'_, [bool]> {
17 let valid_opt = match self {
18 Self::Int64 { valid, .. }
19 | Self::Float64 { valid, .. }
20 | Self::Bool { valid, .. }
21 | Self::Timestamp { valid, .. }
22 | Self::Decimal { valid, .. }
23 | Self::Uuid { valid, .. }
24 | Self::String { valid, .. }
25 | Self::Bytes { valid, .. }
26 | Self::Json { valid, .. }
27 | Self::Geometry { valid, .. }
28 | Self::Vector { valid, .. }
29 | Self::DictEncoded { valid, .. } => valid,
30 };
31 match valid_opt {
32 Some(v) => std::borrow::Cow::Borrowed(v.as_slice()),
33 None => std::borrow::Cow::Owned(vec![true; self.len()]),
34 }
35 }
36
37 /// Check if a row is null (valid bitmap says false).
38 ///

Callers 1

encode_single_blockFunction · 0.80

Calls 1

as_sliceMethod · 0.45

Tested by

no test coverage detected