Closed
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently Array
are wrappers around an ArrayData
, storing it as a member of the array. This is redundant, confusing and results in API friction.
Describe the solution you'd like
I would like the Array implementations to just store their constituent parts, in the same vein as the typed ArrayData abstractions experimented with under #1799 did. This would involve the following
- Add
Array::nulls(&self) -> Option<&NullBuffer>
- Add
Array::to_data(&self) -> ArrayData
- Implement
Array::slice
,Array::data_type
,Array::len
,Array::get_buffer_memory_size
, etc... for eachArray
- Deprecate
Array::data
,Array::data_ref
andArray::offset
Describe alternatives you've considered
Additional context