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)
| 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 | /// |
no test coverage detected