| 727 | const auto& type = checked_cast<::arrow::FixedSizeListType&>(*field()->type()); |
| 728 | const int32_t* offsets = reinterpret_cast<const int32_t*>(data->buffers[1]->data()); |
| 729 | for (int x = 1; x <= data->length; x++) { |
| 730 | int32_t size = offsets[x] - offsets[x - 1]; |
| 731 | if (size != type.list_size()) { |
| 732 | return Status::Invalid("Expected all lists to be of size=", type.list_size(), |
| 733 | " but index ", x, " had size=", size); |
| 734 | } |
| 735 | } |
| 736 | data->buffers.resize(1); |
| 737 | std::shared_ptr<Array> result = ::arrow::MakeArray(data); |
| 738 | return std::make_shared<ChunkedArray>(result); |