[
https://issues.apache.org/jira/browse/ARROW-1361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144721#comment-16144721
]
Bryan Cutler commented on ARROW-1361:
-------------------------------------
Thanks for clarifying [~jnadeau], I am fine with that as an API, but I think
that changing the definition of {{Field}} like that would impact a lot of
existing code right?
What do you think about adding a method {{getType()}} in each vector to return
the specific type instance? For example,
{{NullableTimeStampMicroTZVector.getType()}} would return
{{ArrowType.Timestamp}}. It would still do a cast internally, but still pretty
simple.
> [Java] Add minor type param accessors to NullableValueVectors
> -------------------------------------------------------------
>
> Key: ARROW-1361
> URL: https://issues.apache.org/jira/browse/ARROW-1361
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Java - Vectors
> Reporter: Bryan Cutler
> Assignee: Bryan Cutler
>
> A {{NullableValueVector}} creates private copies of each param in the minor
> type, but does not have any way public api to access them. So if given a
> {{NullableValueVector}} you would have to use the {{Field}} and cast to the
> correct type. For example, with a {{NullableTimeStampMicroTZVector}} and
> trying to get the timezone:
> {noformat}
> if field.getType.isInstanceOf[ArrowType.Timestamp] &&
> field.getType.asInstanceOf[ArrowType.Timestamp].getTimezone
> {noformat}
> It would be more convenient to have direct accessors for these type params.
> Also, it is possible to do some minor refactoring because
> {{NullableValueVectors}} does not use these type params, so there is no need
> to store them. They already exist in the inner vector object and the Field
> type.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)