Skip to content

Commit aead984

Browse files
committed
Revert unrelated changes to align_buffers()
1 parent 1fb69e4 commit aead984

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

arrow-data/src/data.rs

+9-13
Original file line numberDiff line numberDiff line change
@@ -696,21 +696,17 @@ impl ArrayData {
696696
///
697697
/// This also aligns buffers of children data
698698
pub fn align_buffers(&mut self) {
699-
// use a dynamic stack to avoid stack overflow for very deeply nested arrays
700-
let mut stack: Vec<&mut ArrayData> = vec![self];
701-
while let Some(data) = stack.pop() {
702-
let layout = layout(&data.data_type);
703-
for (buffer, spec) in data.buffers.iter_mut().zip(&layout.buffers) {
704-
if let BufferSpec::FixedWidth { alignment, .. } = spec {
705-
if buffer.as_ptr().align_offset(*alignment) != 0 {
706-
*buffer = Buffer::from_slice_ref(buffer.as_ref());
707-
}
699+
let layout = layout(&self.data_type);
700+
for (buffer, spec) in self.buffers.iter_mut().zip(&layout.buffers) {
701+
if let BufferSpec::FixedWidth { alignment, .. } = spec {
702+
if buffer.as_ptr().align_offset(*alignment) != 0 {
703+
*buffer = Buffer::from_slice_ref(buffer.as_ref());
708704
}
709705
}
710-
// align children data recursively
711-
for child in data.child_data.iter_mut() {
712-
stack.push(child);
713-
}
706+
}
707+
// align children data recursively
708+
for data in self.child_data.iter_mut() {
709+
data.align_buffers()
714710
}
715711
}
716712

0 commit comments

Comments
 (0)