| 39 | /// Returns false (not null) for non-nullable columns (no bitmap). |
| 40 | #[inline] |
| 41 | pub(super) fn is_null(&self, row: usize) -> bool { |
| 42 | let valid_opt = match self { |
| 43 | Self::Int64 { valid, .. } |
| 44 | | Self::Float64 { valid, .. } |
| 45 | | Self::Bool { valid, .. } |
| 46 | | Self::Timestamp { valid, .. } |
| 47 | | Self::Decimal { valid, .. } |
| 48 | | Self::Uuid { valid, .. } |
| 49 | | Self::String { valid, .. } |
| 50 | | Self::Bytes { valid, .. } |
| 51 | | Self::Json { valid, .. } |
| 52 | | Self::Geometry { valid, .. } |
| 53 | | Self::Vector { valid, .. } |
| 54 | | Self::DictEncoded { valid, .. } => valid, |
| 55 | }; |
| 56 | valid_opt.as_ref().is_some_and(|v| !v[row]) |
| 57 | } |
| 58 | |
| 59 | /// Extract a single row's value as `nodedb_types::Value`. |
| 60 | pub(crate) fn get_value(&self, row: usize) -> Value { |