MCPcopy Create free account
hub / github.com/apache/arrow / ResizeVaryingLengthBuffer

Method ResizeVaryingLengthBuffer

cpp/src/arrow/compute/light_array_internal.cc:325–340  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

323}
324
325Status 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
342KeyColumnArray ResizableArrayData::column_array() const {
343 return KeyColumnArray(column_metadata_, num_rows_,

Callers 3

DecodeSelectedMethod · 0.80
AppendSelectedMethod · 0.80
TESTFunction · 0.80

Calls 2

OKFunction · 0.50
ResizeMethod · 0.45

Tested by 1

TESTFunction · 0.64