You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2021/12/28 21:02:00 UTC

[jira] [Commented] (ARROW-15211) Deprecate ChunkedArray public constructors

    [ https://issues.apache.org/jira/browse/ARROW-15211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466213#comment-17466213 ] 

Antoine Pitrou commented on ARROW-15211:
----------------------------------------

There is a potential concern with performance here. Also it's not very nice to break user code calling these APIs.

> Deprecate ChunkedArray public constructors
> ------------------------------------------
>
>                 Key: ARROW-15211
>                 URL: https://issues.apache.org/jira/browse/ARROW-15211
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Eduardo Ponce
>            Priority: Minor
>
> The convention for the higher-level Arrow data structures (Table, RecordBatch) is to provide a public {{Make()}} method for creating objects with validation checks. The constructors are set to {{protected}} and do not perform validation checks, so they should be only invoked with valid inputs. {{ChunkedArray}} provides both public constructors and {{Make()}}. We should deprecate the public constructors and be consistent with the other data structures.
> For more details on the Arrow data structures, [see this discussion|https://github.com/apache/arrow/pull/12036#issuecomment-1002242875].
> Note: The codebase has many statements of the form {{std::make_shared<ChunkedArray>(...)}} which should be changed to {{ChunkedArray::Make(...)}}.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)