| 288 | /// Panics if `array` and `self` data types are different |
| 289 | #[inline] |
| 290 | pub fn append_array(&mut self, array: &PrimitiveArray<T>) { |
| 291 | assert_eq!( |
| 292 | &self.data_type, |
| 293 | array.data_type(), |
| 294 | "array data type mismatch" |
| 295 | ); |
| 296 | |
| 297 | self.values_builder.extend_from_slice(array.values()); |
| 298 | if let Some(null_buffer) = array.nulls() { |
| 299 | self.null_buffer_builder.append_buffer(null_buffer); |
| 300 | } else { |
| 301 | self.null_buffer_builder.append_n_non_nulls(array.len()); |
| 302 | } |
| 303 | } |
| 304 | |
| 305 | /// Appends values from a trusted length iterator. |
| 306 | /// |