[
https://issues.apache.org/jira/browse/ARROW-15118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eduardo Ponce updated ARROW-15118:
----------------------------------
Description:
Cast kernels seem to always create and populate the null bitmap even if the
input data structure had a `nullptr` null bitmap. This automatic and extra
allocation is not desirable, and not consistent.
It seems some cast kernels use COMPUTED_NO_ALLOCATE and others use the default
(INTERSECTION). We could change INTERSECTION to be a general case where if all
inputs have no nulls, then a null bitmap should not be emitted.
was:
Cast kernels seem to always create and populate the null bitmap even if the
input data structure had a `nullptr` null bitmap. This automatic and extra
allocation is not desirable, and not consistent.
It seems some cast kernels use COMPUTED_NO_ALLOCATE and others use the default
(INTERSECTION). We could change INTERSECTION to be a special-case of one input
Array with no null bitmap. The expected behavior is that if the input has no
nulls, then a null bitmap should not be emitted.
> [C++] Cast kernel always creates and populates null bitmap
> ----------------------------------------------------------
>
> Key: ARROW-15118
> URL: https://issues.apache.org/jira/browse/ARROW-15118
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Eduardo Ponce
> Priority: Minor
> Labels: good-second-issue, kernel
> Fix For: 8.0.0
>
>
> Cast kernels seem to always create and populate the null bitmap even if the
> input data structure had a `nullptr` null bitmap. This automatic and extra
> allocation is not desirable, and not consistent.
> It seems some cast kernels use COMPUTED_NO_ALLOCATE and others use the
> default (INTERSECTION). We could change INTERSECTION to be a general case
> where if all inputs have no nulls, then a null bitmap should not be emitted.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)