| 607 | ArrayBuilder* value_builder() const { return list_builder_->value_builder(); } |
| 608 | |
| 609 | std::shared_ptr<DataType> type() const override { |
| 610 | // Key and Item builder may update types, but they don't contain the field names, |
| 611 | // so we need to reconstruct the type. (See ARROW-13735.) |
| 612 | return std::make_shared<MapType>( |
| 613 | field(entries_name_, |
| 614 | struct_({field(key_name_, key_builder_->type(), false), |
| 615 | field(item_name_, item_builder_->type(), item_nullable_)}), |
| 616 | false), |
| 617 | keys_sorted_); |
| 618 | } |
| 619 | |
| 620 | Status ValidateOverflow(int64_t new_elements) { |
| 621 | return list_builder_->ValidateOverflow(new_elements); |