use crate::arrays::{ChunkedArray, ChunkedVTable, PrimitiveArray};
use crate::validity::Validity;
use crate::vtable::VisitorVTable;
use crate::{ArrayBufferVisitor, ArrayChildVisitor};
impl VisitorVTable<ChunkedVTable> for ChunkedVTable {
fn visit_buffers(_array: &ChunkedArray, _visitor: &mut dyn ArrayBufferVisitor) {}
fn visit_children(array: &ChunkedArray, visitor: &mut dyn ArrayChildVisitor) {
let chunk_offsets =
PrimitiveArray::new(array.chunk_offsets().clone(), Validity::NonNullable);
visitor.visit_child("chunk_offsets", chunk_offsets.as_ref());
for (idx, chunk) in array.chunks().iter().enumerate() {
visitor.visit_child(format!("chunks[{idx}]").as_str(), chunk);
}
}
}