toddfarmer opened a new pull request, #13433:
URL: https://github.com/apache/arrow/pull/13433

   Under certain conditions, JDBC vendors may return ResultSets where the scale 
of BigDecimal values differ by row. Existing logic required exact matching of 
every row to the established scale for the column (target vector), and throws 
UnsupportedOperationException when there is a mismatch, aborting ResultSet 
processing.  This change enables configuration of a java.math.RoundingMode to 
be applied in any required scale conversion, and should enable both 
full-fidelity truncation (trimming trailing zeros right of decimal) as well as 
lossy conversion (see [RoundingModes 
javadoc](https://docs.oracle.com/javase/8/docs/api/java/math/RoundingMode.html)).
   
   Note that this is implemented as a global configuration options - it will 
apply to all BigDecimal columns in a ResultSet being processed using the 
supplied config. It's possible to provide per-column control over this 
behavior, but I assessed that to complicate configuration for little benefit. 
Please indicate if this decision should be reevaluated.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to