[C++] Fix handling of logical nulls by compute kernels processing run-end encoded arrays or arrays of unions
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 91
Description
Since #34361 and the introduction of special validity checks in #34408, we are aware that parts of the codebase handle nulls the wrong way when the input is a run-end encoded array (NEW) or an union array.
This issue aims to be a list of compute kernels that have to be changed regarding nulls in these special array types by using specialized ways of determining a valid is a logical null instead of relying on validity bitmaps that are absent in these types of arrays:
- [ ] `is_null` #34315
- [x] `hash_count` #35059
- [ ] `drop_null` #43851
- [x] `count` #49888
- [ ] `true_unless_null` #49889
### Component(s)
C++
Contributor guide
Research direction
Start with the unchecked compute-kernel items: is_null (#34315), drop_null (#43851), and true_unless_null (#49889). Read the issue references and compare them with the completed hash_count and count items to understand the specialized logical-null handling. Done means the remaining kernels correctly handle run-end encoded and union arrays.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100