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<ByteArray>, 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++
Describe the enhancement requested
Follow-up to #50335, which added
FLBADecoder::Decode(uint8_t*, int)- a dense decodepath that writes FIXED_LEN_BYTE_ARRAY values contiguously into a caller-provided buffer.
DeltaByteArrayFLBADecoder::Decode(uint8_t*, int)currently reaches that dense outputthrough
DeltaByteArrayDecoderImpl::GetInternal, which only supportsByteArrayoutput.So it decodes into a temporary
std::vector<ByteArray>, then copies each value out anddiscards the vector.
DeltaByteArrayDecoderImpl::DecodeArrowallocates a similar intermediateByteArraybuffer, so it may benefit from the same refactor.
Component(s)
C++