[ 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)