JDBC driver returns wrong value in getInt() for a decimal column
Details
| Detail name | Value |
|---|---|
| Changelog Number | 9586 |
| Type | Bug |
| Status | Resolved |
| Affected Versions | Exasol 6.1.0, Exasol 6.2.0 |
| Fix Versions | Exasol 7.0.0, Exasol 6.2.5 |
| Resolution Date | 2020-03-23 |
Background
DECIMAL types may be defined with a scale factor defining the number of fractional digits available.
For such types, ResultSet.getInt() should return the integral part of the stored value.
Problem
Exasol's JDBC driver actually returns the number including its fractional part, shifted by scale digits.
Example
| Data Type | DECIMAL(10,2) |
|---|---|
| Value | 23.50 |
| getInt result | 2350 |
| expected | 23 |
Fix
Fixed driver versions will return the correct value as expected.