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

ASF GitHub Bot updated ARROW-16529:
-----------------------------------
    Labels: pull-request-available  (was: )

> [Java] Remove dependency on optional JDBC ResultSet method
> ----------------------------------------------------------
>
>                 Key: ARROW-16529
>                 URL: https://issues.apache.org/jira/browse/ARROW-16529
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Java
>    Affects Versions: 8.0.0
>            Reporter: Todd Farmer
>            Assignee: Todd Farmer
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> [~jswenson] points out that the fix for ARROW-16035 uses the 
> ResultSet.isLast() method, which is listed as optional for vendor support in 
> the (likely common) condition that the result set is forward-scrollable only. 
>  This new code replaced dependency on ResultSet.isAfterLast(), which is 
> similarly annotated as optional in the same context (and has the additional 
> challenge of being non-deterministic in the case of empty result sets).  To 
> eliminate these dependencies, we propose the following:
>  # The ArrowVectorIterator returned from processing ResultSets will _always_ 
> have at least one element, meaning hasNext() will return true initially, even 
> in the case of empty ResultSets.
>  # Calling ArrowVectorIterator.next() will establish whether there is actual 
> data to be supplied, and will return an "empty" VectorSchemaRoot when an 
> empty ResultSet was supplied originally.
>  # Subsequent calls to ArrowVectorIterator.hasNext() will return false in the 
> case when an empty ResultSet was supplied.
> This is a behavior change, in that the current ARROW-16035-patched code 
> returns false today when an empty ResultSet was supplied, _and_ the JDBC 
> driver optionally implements ResultSet.isLast().



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to