Is your feature request related to a problem or challenge?
Several DataFusion PRs (#21464, #21468, #21471, #21475, #21477, #21482, #21532) optimize NULL handling in scalar functions by replacing row-by-row null buffer construction with bulk NullBuffer::union. When 3+ null buffers need combining, they chain binary union calls, each allocating a new BooleanBuffer.
@mbutrovich added a new NullBuffer::union_many API in arrow 58.2.0 that avoids this allocation
Describe the solution you'd like
Use NullBuffer::union_many instead of NullBuffer::union when unioning together multiple buffers
Describe alternatives you've considered
No response
Additional context
No response
Is your feature request related to a problem or challenge?
Several DataFusion PRs (#21464, #21468, #21471, #21475, #21477, #21482, #21532) optimize NULL handling in scalar functions by replacing row-by-row null buffer construction with bulk
NullBuffer::union. When 3+ null buffers need combining, they chain binaryunioncalls, each allocating a newBooleanBuffer.@mbutrovich added a new
NullBuffer::union_manyAPI in arrow 58.2.0 that avoids this allocationBooleanArrayandNullBuffer::union_manyarrow-rs#9692Describe the solution you'd like
Use
NullBuffer::union_manyinstead ofNullBuffer::unionwhen unioning together multiple buffersDescribe alternatives you've considered
No response
Additional context
No response