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

Reply via email to