From d259aa63081804bc6f85d6e805febd2864d4d2ba Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 1 Jul 2024 20:01:26 +0200 Subject: [PATCH] [jOOQ/jOOQ#16875] Support BigQuery TIMESTAMP data type as SQLDataType.TIMESTAMPWITHTIMEZONE --- .../java/org/jooq/impl/DefaultBinding.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 21f6b8a9ed..3bc910bcd3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -3461,6 +3461,13 @@ public class DefaultBinding implements Binding { static final class DefaultOffsetDateTimeBinding extends InternalBinding { + + + + + + + DefaultOffsetDateTimeBinding(DataType dataType, Converter converter) { super(dataType, converter); } @@ -3544,6 +3551,12 @@ public class DefaultBinding implements Binding { final OffsetDateTime get0(BindingGetResultSetContext ctx) throws SQLException { if (!FALSE.equals(ctx.settings().isBindOffsetDateTimeType())) return ctx.resultSet().getObject(ctx.index(), OffsetDateTime.class); + + + + + + else return OffsetDateTimeParser.offsetDateTime(ctx.resultSet().getString(ctx.index())); } @@ -3552,6 +3565,12 @@ public class DefaultBinding implements Binding { final OffsetDateTime get0(BindingGetStatementContext ctx) throws SQLException { if (!FALSE.equals(ctx.settings().isBindOffsetDateTimeType())) return ctx.statement().getObject(ctx.index(), OffsetDateTime.class); + + + + + + else return OffsetDateTimeParser.offsetDateTime(ctx.statement().getString(ctx.index())); } @@ -3573,6 +3592,9 @@ public class DefaultBinding implements Binding { + + + else throw new UnsupportedOperationException("Type " + dataType + " is not supported"); } @@ -3591,6 +3613,9 @@ public class DefaultBinding implements Binding { + + + // [#5779] Revert to encoding this type as string. else return Types.VARCHAR;