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

Method DecodeOffsets

cpp/src/arrow/acero/swiss_join.cc:348–362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

346}
347
348void RowArray::DecodeOffsets(ResizableArrayData* output, int output_start_row,
349 int column_id, int num_rows_to_append,
350 const uint32_t* row_ids) const {
351 uint32_t* offsets = output->mutable_data_as<uint32_t>(1) + output_start_row;
352 uint32_t sum = (output_start_row == 0) ? 0 : offsets[0];
353 RowArrayAccessor::Visit(
354 rows_, column_id, num_rows_to_append, row_ids,
355 [&](int i, const uint8_t* ptr, uint32_t num_bytes) { offsets[i] = num_bytes; });
356 for (int i = 0; i < num_rows_to_append; ++i) {
357 uint32_t length = offsets[i];
358 offsets[i] = sum;
359 sum += length;
360 }
361 offsets[num_rows_to_append] = sum;
362}
363
364void RowArray::DecodeVarLength(ResizableArrayData* output, int output_start_row,
365 int column_id, int num_rows_to_append,

Callers

nothing calls this directly

Calls 1

VisitFunction · 0.50

Tested by

no test coverage detected