You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2019/09/19 17:24:00 UTC

[jira] [Resolved] (ARROW-5935) [C++] ArrayBuilders with mutable type are not robustly supported

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