diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
index c8d7ae8b8b..b93ca672a0 100644
--- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
+++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java
@@ -2027,6 +2027,19 @@ public abstract class AbstractDatabase implements Database {
.withIncludeTypes("_daterange")
.withPriority(Integer.MIN_VALUE)
);
+
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.LocalDateTimeRange")
+ .withBinding("org.jooq.postgres.extensions.bindings.LocalDateTimeRangeBinding")
+ .withIncludeTypes("tsrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.LocalDateTimeRange[]")
+ .withBinding("org.jooq.postgres.extensions.bindings.LocalDateTimeRangeArrayBinding")
+ .withIncludeTypes("_tsrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
}
else {
getConfiguredForcedTypes().add(new ForcedType()
@@ -2041,7 +2054,33 @@ public abstract class AbstractDatabase implements Database {
.withIncludeTypes("_daterange")
.withPriority(Integer.MIN_VALUE)
);
+
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.TimestampRange")
+ .withBinding("org.jooq.postgres.extensions.bindings.TimestampRangeBinding")
+ .withIncludeTypes("tsrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.TimestampRange[]")
+ .withBinding("org.jooq.postgres.extensions.bindings.TimestampRangeArrayBinding")
+ .withIncludeTypes("_tsrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
}
+
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.OffsetDateTimeRange")
+ .withBinding("org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeBinding")
+ .withIncludeTypes("tstzrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
+ getConfiguredForcedTypes().add(new ForcedType()
+ .withUserType("org.jooq.postgres.extensions.types.OffsetDateTimeRange[]")
+ .withBinding("org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeArrayBinding")
+ .withIncludeTypes("_tstzrange")
+ .withPriority(Integer.MIN_VALUE)
+ );
}
catch (ClassNotFoundException ignore) {
log.debug("Built in data types", "org.jooq.postgres.extensions.types.Hstore not found on classpath, ignoring built in data type extensions");
diff --git a/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractInetBinding.java b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractInetBinding.java
index 572632a6f6..9e2c9e4d42 100644
--- a/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractInetBinding.java
+++ b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractInetBinding.java
@@ -44,10 +44,7 @@ import org.jooq.BindingGetResultSetContext;
import org.jooq.BindingGetStatementContext;
import org.jooq.BindingRegisterContext;
import org.jooq.BindingSetStatementContext;
-import org.jooq.Converter;
-import org.jooq.postgres.extensions.converters.InetConverter;
import org.jooq.postgres.extensions.types.AbstractInet;
-import org.jooq.postgres.extensions.types.Inet;
/**
* A binding for the PostgreSQL inet or cidr data
diff --git a/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractPostgresArrayBinding.java b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractPostgresArrayBinding.java
index c295937495..ce8d34cc74 100644
--- a/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractPostgresArrayBinding.java
+++ b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/AbstractPostgresArrayBinding.java
@@ -39,17 +39,12 @@ package org.jooq.postgres.extensions.bindings;
import java.sql.Array;
import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
import java.sql.Types;
import org.jooq.BindingGetResultSetContext;
-import org.jooq.BindingGetSQLInputContext;
import org.jooq.BindingGetStatementContext;
import org.jooq.BindingRegisterContext;
-import org.jooq.BindingSQLContext;
-import org.jooq.BindingSetSQLOutputContext;
import org.jooq.BindingSetStatementContext;
-import org.jooq.impl.AbstractBinding;
/**
* A common base class for bindings in this module.
diff --git a/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/LocalDateTimeRangeArrayBinding.java b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/LocalDateTimeRangeArrayBinding.java
new file mode 100644
index 0000000000..fa9afd6636
--- /dev/null
+++ b/jOOQ-postgres-extensions/src/main/java/org/jooq/postgres/extensions/bindings/LocalDateTimeRangeArrayBinding.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Other licenses:
+ * -----------------------------------------------------------------------------
+ * Commercial licenses for this work are available. These replace the above
+ * ASL 2.0 and offer limited warranties, support, maintenance, and commercial
+ * database integrations.
+ *
+ * For more information, please visit: http://www.jooq.org/licenses
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+package org.jooq.postgres.extensions.bindings;
+
+import org.jooq.Converter;
+import org.jooq.postgres.extensions.converters.LocalDateTimeRangeConverter;
+import org.jooq.postgres.extensions.types.LocalDateTimeRange;
+
+/**
+ * A binding for the PostgreSQL tsrange[] data type.
+ *
+ * @author Lukas Eder
+ */
+public class LocalDateTimeRangeArrayBinding extends AbstractPostgresArrayBinding {
+
+ private static final Converter