(builder, value)
| 207 | end |
| 208 | |
| 209 | def append_to_builder(builder, value) |
| 210 | if value.nil? |
| 211 | builder.append_null |
| 212 | else |
| 213 | data_type = builder.value_data_type |
| 214 | case data_type |
| 215 | when Arrow::MapDataType |
| 216 | builder.append_value |
| 217 | key_builder = builder.key_builder |
| 218 | item_builder = builder.item_builder |
| 219 | value.each do |k, v| |
| 220 | append_to_builder(key_builder, k) |
| 221 | append_to_builder(item_builder, v) |
| 222 | end |
| 223 | when Arrow::ListDataType, Arrow::LargeListDataType, Arrow::FixedSizeListDataType |
| 224 | builder.append_value |
| 225 | value_builder = builder.value_builder |
| 226 | value.each do |v| |
| 227 | append_to_builder(value_builder, v) |
| 228 | end |
| 229 | when Arrow::StructDataType |
| 230 | builder.append_value |
| 231 | value.each do |name, v| |
| 232 | field_index = data_type.get_field_index(name) |
| 233 | field_builder = builder.get_field_builder(field_index) |
| 234 | append_to_builder(field_builder, v) |
| 235 | end |
| 236 | else |
| 237 | builder.append_value(value) |
| 238 | end |
| 239 | end |
| 240 | end |
| 241 | |
| 242 | def build_table(columns) |
| 243 | fields = [] |
nothing calls this directly
no test coverage detected