[
https://issues.apache.org/jira/browse/ARROW-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Neal Richardson resolved ARROW-5935.
------------------------------------
Fix Version/s: 0.15.0
Resolution: Fixed
Issue resolved by pull request 4930
[https://github.com/apache/arrow/pull/4930]
> [C++] ArrayBuilders with mutable type are not robustly supported
> ----------------------------------------------------------------
>
> Key: ARROW-5935
> URL: https://issues.apache.org/jira/browse/ARROW-5935
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Reporter: Benjamin Kietzman
> Assignee: Benjamin Kietzman
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.15.0
>
> Time Spent: 8h 40m
> Remaining Estimate: 0h
>
> (Dense|Sparse)UnionBuilder, DictionaryBuilder, Addaptive(U)IntBuilders and
> any nested builder which contains one of those may Finish to an array whose
> type disagrees with what was passed to MakeBuilder. This is not well
> documented or supported; ListBuilder checks if its child has changed type but
> StructBuilder does not. Furthermore ListBuilder's check does not catch
> modifications to a DictionaryBuidler's type and results in an invalid array
> on Finish:
> https://github.com/apache/arrow/blob/1bcfbe1/cpp/src/arrow/array-dict-test.cc#L951-L994
> Let's add to the ArrayBuilder contract: the type property is null iff that
> builder's type is indeterminate until Finish() is called. Then all nested
> builders can check this on their children at construction and bubble type
> mutability correclty
--
This message was sent by Atlassian Jira
(v8.3.4#803005)