in Sources/SparkConnect/ArrowReaderHelper.swift [129:147]
func makeStructHolder(
_ field: ArrowField,
buffers: [ArrowBuffer],
nullCount: UInt,
children: [ArrowData],
rbLength: UInt
) -> Result<ArrowArrayHolder, ArrowError> {
do {
let arrowData = try ArrowData(
field.type,
buffers: buffers, children: children,
nullCount: nullCount, length: rbLength)
return .success(ArrowArrayHolderImpl(try StructArray(arrowData)))
} catch let error as ArrowError {
return .failure(error)
} catch {
return .failure(.unknownError("\(error)"))
}
}