DBZ-1149 Ensure consistent Java types for fallback values when converting
This commit is contained in:
parent
4698cde5bb
commit
95b2290df2
@ -487,7 +487,7 @@ protected Object convertBits(Column column, Field fieldDefn, Object data, int nu
|
||||
}
|
||||
|
||||
protected Object convertMoney(Column column, Field fieldDefn, Object data) {
|
||||
return convertValue(column, fieldDefn, data, 0L, (r) -> {
|
||||
return convertValue(column, fieldDefn, data, BigDecimal.ZERO, (r) -> {
|
||||
if (data instanceof Double) {
|
||||
r.deliver(BigDecimal.valueOf((Double) data));
|
||||
}
|
||||
|
@ -352,7 +352,10 @@ protected ValueConverter convertBits(Column column, Field fieldDefn) {
|
||||
*/
|
||||
protected Object convertTimestampWithZone(Column column, Field fieldDefn, Object data) {
|
||||
// epoch is the fallback value
|
||||
return convertValue(column, fieldDefn, data, OffsetDateTime.of(LocalDate.ofEpochDay(0), LocalTime.MIDNIGHT, defaultOffset), (r) -> {
|
||||
String fallback = ZonedTimestamp.toIsoString(OffsetDateTime.of(LocalDate.ofEpochDay(0), LocalTime.MIDNIGHT, defaultOffset),
|
||||
defaultOffset, adjuster);
|
||||
|
||||
return convertValue(column, fieldDefn, data, fallback, (r) -> {
|
||||
try {
|
||||
r.deliver(ZonedTimestamp.toIsoString(data, defaultOffset, adjuster));
|
||||
} catch (IllegalArgumentException e) {
|
||||
@ -378,7 +381,9 @@ protected Object convertTimestampWithZone(Column column, Field fieldDefn, Object
|
||||
*/
|
||||
protected Object convertTimeWithZone(Column column, Field fieldDefn, Object data) {
|
||||
// epoch is the fallback value
|
||||
return convertValue(column, fieldDefn, data, OffsetTime.of(LocalTime.MIDNIGHT, defaultOffset), (r) -> {
|
||||
String fallback = ZonedTime.toIsoString(OffsetTime.of(LocalTime.MIDNIGHT, defaultOffset), defaultOffset, adjuster);
|
||||
|
||||
return convertValue(column, fieldDefn, data, fallback, (r) -> {
|
||||
try {
|
||||
r.deliver(ZonedTime.toIsoString(data, defaultOffset, adjuster));
|
||||
} catch (IllegalArgumentException e) {
|
||||
@ -1001,7 +1006,7 @@ else if (data instanceof BitSet) {
|
||||
* @throws IllegalArgumentException if the value could not be converted but the column does not allow nulls
|
||||
*/
|
||||
protected Object convertBits(Column column, Field fieldDefn, Object data, int numBytes) {
|
||||
return convertValue(column, fieldDefn, data, false, (r) -> {
|
||||
return convertValue(column, fieldDefn, data, new byte[0], (r) -> {
|
||||
if (data instanceof Boolean) {
|
||||
Boolean value = (Boolean) data;
|
||||
r.deliver(new byte[] { value.booleanValue() ? (byte) 1 : (byte) 0 });
|
||||
|
Loading…
Reference in New Issue
Block a user