Skip to content

First-Class Array Abstractions #3880

Closed
@tustvold

Description

@tustvold

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 each Array
  • Deprecate Array::data, Array::data_ref and Array::offset

Describe alternatives you've considered

Additional context

#3879

Metadata

Metadata

Assignees

Labels

arrowChanges to the arrow cratearrow-flightChanges to the arrow-flight crateenhancementAny new improvement worthy of a entry in the changelogparquetChanges to the parquet crate

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions