Skip to content

Commit 53948bf

Browse files
authored
Handle null values in IntervalConverter and TimestampConverter in jOOQ (#190)
1 parent c1717ee commit 53948bf

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

jooq-dialect/src/main/java/tech/ydb/jooq/binding/Interval64Binding.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ private static class IntervalConverter implements Converter<ULong, Duration> {
4444

4545
@Override
4646
public Duration from(ULong databaseObject) {
47-
return Duration.of(databaseObject.longValue(), ChronoUnit.MICROS);
47+
return databaseObject == null ? null : Duration.of(databaseObject.longValue(), ChronoUnit.MICROS);
4848
}
4949

5050
@Override
5151
public ULong to(Duration userObject) {
52-
return ULong.valueOf(TimeUnit.NANOSECONDS.toMicros(userObject.toNanos()));
52+
return userObject == null ? null : ULong.valueOf(TimeUnit.NANOSECONDS.toMicros(userObject.toNanos()));
5353
}
5454

5555
@Override

jooq-dialect/src/main/java/tech/ydb/jooq/binding/IntervalBinding.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ public void get(BindingGetResultSetContext<Duration> ctx) throws SQLException {
3939
private static class IntervalConverter implements Converter<YearToSecond, Duration> {
4040
@Override
4141
public Duration from(YearToSecond databaseObject) {
42-
return databaseObject.toDuration();
42+
return databaseObject == null ? null : databaseObject.toDuration();
4343
}
4444

4545
@Override
4646
public YearToSecond to(Duration userObject) {
47-
return YearToSecond.valueOf(userObject);
47+
return userObject == null ? null : YearToSecond.valueOf(userObject);
4848
}
4949

5050
@Override

jooq-dialect/src/main/java/tech/ydb/jooq/binding/TimestampBinding.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ public void get(BindingGetResultSetContext<Instant> ctx) throws SQLException {
3939
private static class TimestampConverter implements Converter<LocalDateTime, Instant> {
4040
@Override
4141
public Instant from(LocalDateTime databaseObject) {
42-
return databaseObject.toInstant(ZoneOffset.UTC);
42+
return databaseObject == null ? null : databaseObject.toInstant(ZoneOffset.UTC);
4343
}
4444

4545
@Override
4646
public LocalDateTime to(Instant userObject) {
47-
return LocalDateTime.ofInstant(userObject, ZoneOffset.UTC);
47+
return userObject == null ? null : LocalDateTime.ofInstant(userObject, ZoneOffset.UTC);
4848
}
4949

5050
@Override

jooq-dialect/src/main/java/tech/ydb/jooq/binding/YsonBinding.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void get(BindingGetResultSetContext<YSON> ctx) throws SQLException {
3939
private static class YsonConverter implements Converter<Object, YSON> {
4040
@Override
4141
public YSON from(Object databaseObject) {
42-
return (YSON) databaseObject;
42+
return databaseObject == null ? null : (YSON) databaseObject;
4343
}
4444

4545
@Override

0 commit comments

Comments
 (0)