(&mut self)
| 167 | } |
| 168 | |
| 169 | fn consume_batch(&mut self) -> Result<ArrayRef> { |
| 170 | // advance the def & rep level buffers |
| 171 | self.def_levels_buffer = self.record_reader.consume_def_levels(); |
| 172 | self.rep_levels_buffer = self.record_reader.consume_rep_levels(); |
| 173 | |
| 174 | if self.record_reader.num_values() == 0 { |
| 175 | // once the record_reader has been consumed, we've replaced its values with the default |
| 176 | // variant of DictionaryBuffer (Offset). If `consume_batch` then gets called again, we |
| 177 | // avoid using the wrong variant of the buffer by returning empty array. |
| 178 | return Ok(new_empty_array(&self.data_type)); |
| 179 | } |
| 180 | |
| 181 | let buffer = self.record_reader.consume_record_data(); |
| 182 | let null_buffer = self.record_reader.consume_bitmap_buffer(); |
| 183 | let array = buffer.into_array(null_buffer, &self.data_type)?; |
| 184 | self.record_reader.reset(); |
| 185 | |
| 186 | Ok(array) |
| 187 | } |
| 188 | |
| 189 | fn skip_records(&mut self, num_records: usize) -> Result<usize> { |
| 190 | skip_records(&mut self.record_reader, self.pages.as_mut(), num_records) |
nothing calls this directly
no test coverage detected