| 323 | } |
| 324 | |
| 325 | Status ResizableArrayData::ResizeVaryingLengthBuffer() { |
| 326 | if (!column_metadata_.is_fixed_length) { |
| 327 | int64_t min_new_size = buffers_[kFixedLengthBuffer]->data_as<int32_t>()[num_rows_]; |
| 328 | ARROW_DCHECK(var_len_buf_size_ > 0); |
| 329 | if (var_len_buf_size_ < min_new_size) { |
| 330 | int64_t new_size = var_len_buf_size_; |
| 331 | while (new_size < min_new_size) { |
| 332 | new_size *= 2; |
| 333 | } |
| 334 | RETURN_NOT_OK(buffers_[kVariableLengthBuffer]->Resize(new_size + kNumPaddingBytes)); |
| 335 | var_len_buf_size_ = new_size; |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | return Status::OK(); |
| 340 | } |
| 341 | |
| 342 | KeyColumnArray ResizableArrayData::column_array() const { |
| 343 | return KeyColumnArray(column_metadata_, num_rows_, |