[ 
https://issues.apache.org/jira/browse/ARROW-17480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Larry White updated ARROW-17480:
--------------------------------
    Description: 
Only three FieldVector types do not implement setNull(): UnionVector, 
DenseUnionVector and NullVector, preventing it from being addable to the 
ValueVector interface and thus requiring a cast when used. 

For all three vector types it could be added as a no-op. For NullVector, all 
values are already null. For the other two, null values are not supported at 
the top level, but only in the individual child vectors.  A no-op 
implementation is not only consistent with the existing writeNull() operations 
in the Union and DenseUnion Writer classes, but it is consistent with isNull(), 
which always returns false. 

See also a similar issue opened for FieldWriter (ARROW-2538), which may be 
closable given the current code base. 

  was:
Only three ValueVector types do not implement setNull(): UnionVector, 
DenseUnionVector and NullVector, preventing it from being addable to the 
ValueVector interface and thus requiring a cast when used. 

For NullVector, it could be added as a no-op. For the other two, it could be 
added by having it write a null to a child instead of setting a null in the 
parent. Note that this is similar to the implementation in UnionListWriter. 

See also a similar issue opened for FieldWriter (ARROW-2538), which may be 
closable given the current code base. 


> [Java] add setNull() to FieldVector interface
> ---------------------------------------------
>
>                 Key: ARROW-17480
>                 URL: https://issues.apache.org/jira/browse/ARROW-17480
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Java
>    Affects Versions: 9.0.0
>            Reporter: Larry White
>            Assignee: Larry White
>            Priority: Major
>              Labels: Java
>
> Only three FieldVector types do not implement setNull(): UnionVector, 
> DenseUnionVector and NullVector, preventing it from being addable to the 
> ValueVector interface and thus requiring a cast when used. 
> For all three vector types it could be added as a no-op. For NullVector, all 
> values are already null. For the other two, null values are not supported at 
> the top level, but only in the individual child vectors.  A no-op 
> implementation is not only consistent with the existing writeNull() 
> operations in the Union and DenseUnion Writer classes, but it is consistent 
> with isNull(), which always returns false. 
> See also a similar issue opened for FieldWriter (ARROW-2538), which may be 
> closable given the current code base. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to