[C++][Parquet] Make DELTA_BYTE_ARRAY value reconstruction storage-agnostic
Open
Component: C++
Type: enhancement
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
### Describe the enhancement requested
Follow-up to #50335, which added `FLBADecoder::Decode(uint8_t*, int)` - a dense decode
path that writes FIXED_LEN_BYTE_ARRAY values contiguously into a caller-provided buffer.
`DeltaByteArrayFLBADecoder::Decode(uint8_t*, int)` currently reaches that dense output
through `DeltaByteArrayDecoderImpl::GetInternal`, which only supports `ByteArray` output.
So it decodes into a temporary `std::vector`, then copies each value out and
discards the vector.
`DeltaByteArrayDecoderImpl::DecodeArrow` allocates a similar intermediate `ByteArray`
buffer, so it may benefit from the same refactor.
### Component(s)
C++
Contributor guide
Assessment
This issue has not been assessed yet.