@Test public void testEncodeShortScaledValue() { assertEquals(encodeShortScaledValue(new BigDecimal("2.00"), 2), 200L); assertEquals(encodeShortScaledValue(new BigDecimal("2.13"), 2), 213L); assertEquals(encodeShortScaledValue(new BigDecimal("172.60"), 2), 17260L); assertEquals(encodeShortScaledValue(new BigDecimal("2"), 2), 200L); assertEquals(encodeShortScaledValue(new BigDecimal("172.6"), 2), 17260L); assertEquals(encodeShortScaledValue(new BigDecimal("-2.00"), 2), -200L); assertEquals(encodeShortScaledValue(new BigDecimal("-2.13"), 2), -213L); assertEquals(encodeShortScaledValue(new BigDecimal("-2"), 2), -200L); }
@Test public void testEncodeShortScaledValue() { assertEquals(encodeShortScaledValue(new BigDecimal("2.00"), 2), 200L); assertEquals(encodeShortScaledValue(new BigDecimal("2.13"), 2), 213L); assertEquals(encodeShortScaledValue(new BigDecimal("172.60"), 2), 17260L); assertEquals(encodeShortScaledValue(new BigDecimal("2"), 2), 200L); assertEquals(encodeShortScaledValue(new BigDecimal("172.6"), 2), 17260L); assertEquals(encodeShortScaledValue(new BigDecimal("-2.00"), 2), -200L); assertEquals(encodeShortScaledValue(new BigDecimal("-2.13"), 2), -213L); assertEquals(encodeShortScaledValue(new BigDecimal("-2"), 2), -200L); }
public static ReadMapping decimalReadMapping(DecimalType decimalType) { // JDBC driver can return BigDecimal with lower scale than column's scale when there are trailing zeroes int scale = decimalType.getScale(); if (decimalType.isShort()) { return longReadMapping(decimalType, (resultSet, columnIndex) -> encodeShortScaledValue(resultSet.getBigDecimal(columnIndex), scale)); } return sliceReadMapping(decimalType, (resultSet, columnIndex) -> encodeScaledValue(resultSet.getBigDecimal(columnIndex), scale)); }
public static ReadMapping decimalReadMapping(DecimalType decimalType) { // JDBC driver can return BigDecimal with lower scale than column's scale when there are trailing zeroes int scale = decimalType.getScale(); if (decimalType.isShort()) { return longReadMapping(decimalType, (resultSet, columnIndex) -> encodeShortScaledValue(resultSet.getBigDecimal(columnIndex), scale)); } return sliceReadMapping(decimalType, (resultSet, columnIndex) -> encodeScaledValue(resultSet.getBigDecimal(columnIndex), scale)); }