From e1ac27767ca2139f682a1b0cc08a221010bb4daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9E=97=E4=BC=9F?= Date: Tue, 11 Mar 2025 18:23:20 +0800 Subject: [PATCH] Expose `field_builders` in `StructBuilder` (#7217) * Expose field_builders in StructBuilder * Add field_builders_mut --- arrow-array/src/builder/struct_builder.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arrow-array/src/builder/struct_builder.rs b/arrow-array/src/builder/struct_builder.rs index 5cebc6485e0c..4379a7d0cfeb 100644 --- a/arrow-array/src/builder/struct_builder.rs +++ b/arrow-array/src/builder/struct_builder.rs @@ -372,6 +372,16 @@ impl StructBuilder { self.field_builders[i].as_any_mut().downcast_mut::() } + /// Returns a reference to field builders + pub fn field_builders(&self) -> &[Box] { + &self.field_builders + } + + /// Returns a mutable reference to field builders + pub fn field_builders_mut(&mut self) -> &mut [Box] { + &mut self.field_builders + } + /// Returns the number of fields for the struct this builder is building. pub fn num_fields(&self) -> usize { self.field_builders.len()