Build a NullBuffer from the null bitmap of N tuples for a given column.
(
decoder: &TupleDecoder,
tuples: &[&[u8]],
col_idx: usize,
)
| 73 | |
| 74 | /// Build a NullBuffer from the null bitmap of N tuples for a given column. |
| 75 | fn build_null_buffer( |
| 76 | decoder: &TupleDecoder, |
| 77 | tuples: &[&[u8]], |
| 78 | col_idx: usize, |
| 79 | ) -> Result<(NullBuffer, usize), StrictError> { |
| 80 | let n = tuples.len(); |
| 81 | let mut validity = Vec::with_capacity(n); |
| 82 | let mut null_count = 0; |
| 83 | |
| 84 | for tuple in tuples { |
| 85 | let is_null = decoder.is_null(tuple, col_idx)?; |
| 86 | validity.push(!is_null); |
| 87 | if is_null { |
| 88 | null_count += 1; |
| 89 | } |
| 90 | } |
| 91 | |
| 92 | Ok((NullBuffer::new(BooleanBuffer::from(validity)), null_count)) |
| 93 | } |
| 94 | |
| 95 | fn extract_int64( |
| 96 | decoder: &TupleDecoder, |
no test coverage detected