kou commented on code in PR #43439:
URL: https://github.com/apache/arrow/pull/43439#discussion_r1694434336


##########
swift/Arrow/Sources/Arrow/ArrowWriter.swift:
##########
@@ -71,11 +71,30 @@ public class ArrowWriter { // swiftlint:disable:this 
type_body_length
     public init() {}
 
     private func writeField(_ fbb: inout FlatBufferBuilder, field: ArrowField) 
-> Result<Offset, ArrowError> {
+        var fieldsOffset: Offset?
+        if let nestedField = field.type as? ArrowNestedType {
+            var offsets = [Offset]()
+            for field in nestedField.fields {
+                switch writeField(&fbb, field: field) {
+                case .success(let offset):
+                    offsets.append(offset)
+                case .failure(let error):
+                    return .failure(error)
+                }
+            }
+
+            fieldsOffset = fbb.createVector(ofOffsets: offsets)
+        }
+
         let nameOffset = fbb.create(string: field.name)
         let fieldTypeOffsetResult = toFBType(&fbb, arrowType: field.type)
         let startOffset = org_apache_arrow_flatbuf_Field.startField(&fbb)
         org_apache_arrow_flatbuf_Field.add(name: nameOffset, &fbb)
         org_apache_arrow_flatbuf_Field.add(nullable: field.isNullable, &fbb)
+        if let childOffset = fieldsOffset {
+            org_apache_arrow_flatbuf_Field.addVectorOf(children: childOffset, 
&fbb)

Review Comment:
   `childrenOffset`?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to