[C++] Complete RunLengthEncoded type
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 91
Description
We currently have a RunLengthEncoded DataType class that is good enough to RLE ArrayData and ArraySpan instances, and dispatch Kernels based on it, with not too much functionally beyond that. This task is to implement the regular Arrow C++ functionality you would expect to work on all data types:
- Corresponding Array type
- Corresponding Array Builder
- type traits
- make_array() should work
- Validate() / ValidateFull() passes
- type tests pass
- ...?
To me these all seem pretty entangled with each other, but if you find a way to split this into multiple tasks, feel free to do so.
The basic functionality is included in . So this PR can be based upon that branch.
**Reporter**: [Tobias Zagorni](https://issues.apache.org/jira/browse/ARROW-16781) / @zagto
**Note**: *This issue was originally created as [ARROW-16781](https://issues.apache.org/jira/browse/ARROW-16781). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start from the basic functionality in PR #13330 and trace how RunLengthEncoded currently supports RLE ArrayData and ArraySpan instances and kernel dispatch. Review the requested corresponding Array, Array Builder, type traits, make_array(), Validate()/ValidateFull(), and type tests; done means the regular Arrow functionality listed in the issue works and the type tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100