PostgreSQL extensions
Supported by ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
The jooq-postgres-extensions module contains data types, converters, and bindings for the following data types:
- The cidr type is for IPv4 and IPv6 networks.
- The citext type is "case insensitive text".
- The daterange type is a date range type. Depending on the javaTimeTypes configuration, this translates to
java.sql.Dateorjava.time.LocalDateranges. - The hstore type is a key-value store (i.e. a
Map<String, String>). - The inet type is for IPv4 and IPv6 hosts and networks.
- The int4range type is a 32 bit integer range type.
- The int8range type is a 64 bit integer range type.
- The ltree type is a label tree data structure.
- The numrange type is a numeric range type.
- The tsrange type is a timestamp range type. Depending on the javaTimeTypes configuration, this translates to
java.sql.Timestamporjava.time.LocalDateTimeranges. - The tstzrange type is a timestamptz range type.
In order to access these data types, just add the following dependency to your project:
<dependency>
<!-- Use org.jooq for the Open Source Edition
org.jooq.pro for commercial editions with Java 21 support,
org.jooq.pro-java-17 for commercial editions with Java 17 support,
org.jooq.pro-java-11 for commercial editions with Java 11 support,
org.jooq.pro-java-8 for commercial editions with Java 8 support,
org.jooq.trial for the free trial edition with Java 21 support,
org.jooq.trial-java-17 for the free trial edition with Java 17 support,
org.jooq.trial-java-11 for the free trial edition with Java 11 support,
org.jooq.trial-java-8 for the free trial edition with Java 8 support
Note: Only the Open Source Edition is hosted on Maven Central.
Install the others locally using the provided scripts, or access them from here: https://repo.jooq.org
See the JDK version support matrix here: https://www.jooq.org/download/support-matrix-jdk -->
<groupId>org.jooq</groupId>
<artifactId>jooq-postgres-extensions</artifactId>
<version>3.20.17</version>
</dependency>
dependencies {
// Use org.jooq for the Open Source Edition
// org.jooq.pro for commercial editions with Java 21 support,
// org.jooq.pro-java-17 for commercial editions with Java 17 support,
// org.jooq.pro-java-11 for commercial editions with Java 11 support,
// org.jooq.pro-java-8 for commercial editions with Java 8 support,
// org.jooq.trial for the free trial edition with Java 21 support,
// org.jooq.trial-java-17 for the free trial edition with Java 17 support,
// org.jooq.trial-java-11 for the free trial edition with Java 11 support,
// org.jooq.trial-java-8 for the free trial edition with Java 8 support
//
// Note: Only the Open Source Edition is hosted on Maven Central.
// Install the others locally using the provided scripts, or access them from here: https://repo.jooq.org
// See the JDK version support matrix here: https://www.jooq.org/download/support-matrix-jdk
implementation("org.jooq:jooq-postgres-extensions:3.20.17")
}
dependencies {
// Use org.jooq for the Open Source Edition
// org.jooq.pro for commercial editions with Java 21 support,
// org.jooq.pro-java-17 for commercial editions with Java 17 support,
// org.jooq.pro-java-11 for commercial editions with Java 11 support,
// org.jooq.pro-java-8 for commercial editions with Java 8 support,
// org.jooq.trial for the free trial edition with Java 21 support,
// org.jooq.trial-java-17 for the free trial edition with Java 17 support,
// org.jooq.trial-java-11 for the free trial edition with Java 11 support,
// org.jooq.trial-java-8 for the free trial edition with Java 8 support
//
// Note: Only the Open Source Edition is hosted on Maven Central.
// Install the others locally using the provided scripts, or access them from here: https://repo.jooq.org
// See the JDK version support matrix here: https://www.jooq.org/download/support-matrix-jdk
implementation "org.jooq:jooq-postgres-extensions:3.20.17"
}
Starting with jOOQ 3.17, the code generator will auto-register the following forced types, if it finds the jooq-postgres-extensions module on the classpath. These types are registered with lowest priority, such that custom forced types will take precedence:
<configuration>
<generator>
<database>
<forcedTypes>
<forcedType>
<userType>org.jooq.postgres.extensions.types.BigDecimalRange</userType>
<binding>org.jooq.postgres.extensions.bindings.BigDecimalRangeBinding</binding>
<includeTypes>numrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.BigDecimalRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.BigDecimalRangeArrayBinding</binding>
<includeTypes>_numrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Cidr</userType>
<binding>org.jooq.postgres.extensions.bindings.CidrBinding</binding>
<includeTypes>cidr</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Cidr[]</userType>
<binding>org.jooq.postgres.extensions.bindings.CidrArrayBinding</binding>
<includeTypes>_cidr</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>java.lang.String</userType>
<binding>org.jooq.postgres.extensions.bindings.CitextBinding</binding>
<includeTypes>citext</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>java.lang.String[]</userType>
<binding>org.jooq.postgres.extensions.bindings.CitextArrayBinding</binding>
<includeTypes>_citext</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Hstore</userType>
<binding>org.jooq.postgres.extensions.bindings.HstoreBinding</binding>
<includeTypes>hstore</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Hstore[]</userType>
<binding>org.jooq.postgres.extensions.bindings.HstoreArrayBinding</binding>
<includeTypes>_hstore</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Inet</userType>
<binding>org.jooq.postgres.extensions.bindings.InetBinding</binding>
<includeTypes>inet</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Inet[]</userType>
<binding>org.jooq.postgres.extensions.bindings.InetArrayBinding</binding>
<includeTypes>_inet</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.IntegerRange</userType>
<binding>org.jooq.postgres.extensions.bindings.IntegerRangeBinding</binding>
<includeTypes>int4range</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.IntegerRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.IntegerRangeArrayBinding</binding>
<includeTypes>_int4range</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<!-- Depending on <javaTimeTypes/>, this may map to DateRange instead -->
<forcedType>
<userType>org.jooq.postgres.extensions.types.LocalDateRange</userType>
<binding>org.jooq.postgres.extensions.bindings.LocalDateRangeBinding</binding>
<includeTypes>daterange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<!-- Depending on <javaTimeTypes/>, this may map to DateRange[] instead -->
<forcedType>
<userType>org.jooq.postgres.extensions.types.LocalDateRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.LocalDateRangeArrayBinding</binding>
<includeTypes>_daterange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<!-- Depending on <javaTimeTypes/>, this may map to TimestampRange instead -->
<forcedType>
<userType>org.jooq.postgres.extensions.types.LocalDateTimeRange</userType>
<binding>org.jooq.postgres.extensions.bindings.LocalDateTimeRangeBinding</binding>
<includeTypes>tsrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<!-- Depending on <javaTimeTypes/>, this may map to TimestampRange[] instead -->
<forcedType>
<userType>org.jooq.postgres.extensions.types.LocalDateTimeRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.LocalDateTimeRangeArrayBinding</binding>
<includeTypes>_tsrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.LongRange</userType>
<binding>org.jooq.postgres.extensions.bindings.LongRangeBinding</binding>
<includeTypes>int8range</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.LongRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.LongRangeArrayBinding</binding>
<includeTypes>_int8range</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Ltree</userType>
<binding>org.jooq.postgres.extensions.bindings.LtreeBinding</binding>
<includeTypes>ltree</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.Ltree[]</userType>
<binding>org.jooq.postgres.extensions.bindings.LtreeArrayBinding</binding>
<includeTypes>_ltree</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.OffsetDateTimeRange</userType>
<binding>org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeBinding</binding>
<includeTypes>tstzrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
<forcedType>
<userType>org.jooq.postgres.extensions.types.OffsetDateTimeRange[]</userType>
<binding>org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeArrayBinding</binding>
<includeTypes>_tstzrange</includeTypes>
<priority>-2147483648</priority>
</forcedType>
</forcedTypes>
</database>
</generator>
</configuration>
See the configuration XSD, standalone code generation, and maven code generation for more details.
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withForcedTypes(
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.BigDecimalRange")
.withBinding("org.jooq.postgres.extensions.bindings.BigDecimalRangeBinding")
.withIncludeTypes("numrange")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.BigDecimalRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.BigDecimalRangeArrayBinding")
.withIncludeTypes("_numrange")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Cidr")
.withBinding("org.jooq.postgres.extensions.bindings.CidrBinding")
.withIncludeTypes("cidr")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Cidr[]")
.withBinding("org.jooq.postgres.extensions.bindings.CidrArrayBinding")
.withIncludeTypes("_cidr")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("java.lang.String")
.withBinding("org.jooq.postgres.extensions.bindings.CitextBinding")
.withIncludeTypes("citext")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("java.lang.String[]")
.withBinding("org.jooq.postgres.extensions.bindings.CitextArrayBinding")
.withIncludeTypes("_citext")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Hstore")
.withBinding("org.jooq.postgres.extensions.bindings.HstoreBinding")
.withIncludeTypes("hstore")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Hstore[]")
.withBinding("org.jooq.postgres.extensions.bindings.HstoreArrayBinding")
.withIncludeTypes("_hstore")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Inet")
.withBinding("org.jooq.postgres.extensions.bindings.InetBinding")
.withIncludeTypes("inet")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Inet[]")
.withBinding("org.jooq.postgres.extensions.bindings.InetArrayBinding")
.withIncludeTypes("_inet")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.IntegerRange")
.withBinding("org.jooq.postgres.extensions.bindings.IntegerRangeBinding")
.withIncludeTypes("int4range")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.IntegerRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.IntegerRangeArrayBinding")
.withIncludeTypes("_int4range")
.withPriority("-2147483648"),
// Depending on <javaTimeTypes/>, this may map to DateRange instead
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LocalDateRange")
.withBinding("org.jooq.postgres.extensions.bindings.LocalDateRangeBinding")
.withIncludeTypes("daterange")
.withPriority("-2147483648"),
// Depending on <javaTimeTypes/>, this may map to DateRange[] instead
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LocalDateRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.LocalDateRangeArrayBinding")
.withIncludeTypes("_daterange")
.withPriority("-2147483648"),
// Depending on <javaTimeTypes/>, this may map to TimestampRange instead
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LocalDateTimeRange")
.withBinding("org.jooq.postgres.extensions.bindings.LocalDateTimeRangeBinding")
.withIncludeTypes("tsrange")
.withPriority("-2147483648"),
// Depending on <javaTimeTypes/>, this may map to TimestampRange[] instead
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LocalDateTimeRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.LocalDateTimeRangeArrayBinding")
.withIncludeTypes("_tsrange")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LongRange")
.withBinding("org.jooq.postgres.extensions.bindings.LongRangeBinding")
.withIncludeTypes("int8range")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.LongRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.LongRangeArrayBinding")
.withIncludeTypes("_int8range")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Ltree")
.withBinding("org.jooq.postgres.extensions.bindings.LtreeBinding")
.withIncludeTypes("ltree")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.Ltree[]")
.withBinding("org.jooq.postgres.extensions.bindings.LtreeArrayBinding")
.withIncludeTypes("_ltree")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.OffsetDateTimeRange")
.withBinding("org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeBinding")
.withIncludeTypes("tstzrange")
.withPriority("-2147483648"),
new ForcedType()
.withUserType("org.jooq.postgres.extensions.types.OffsetDateTimeRange[]")
.withBinding("org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeArrayBinding")
.withIncludeTypes("_tstzrange")
.withPriority("-2147483648")
)
)
)
See the configuration XSD and programmatic code generation for more details.
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
forcedTypes {
forcedType {
userType = "org.jooq.postgres.extensions.types.BigDecimalRange"
binding = "org.jooq.postgres.extensions.bindings.BigDecimalRangeBinding"
includeTypes = "numrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.BigDecimalRange[]"
binding = "org.jooq.postgres.extensions.bindings.BigDecimalRangeArrayBinding"
includeTypes = "_numrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Cidr"
binding = "org.jooq.postgres.extensions.bindings.CidrBinding"
includeTypes = "cidr"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Cidr[]"
binding = "org.jooq.postgres.extensions.bindings.CidrArrayBinding"
includeTypes = "_cidr"
priority = "-2147483648"
}
forcedType {
userType = "java.lang.String"
binding = "org.jooq.postgres.extensions.bindings.CitextBinding"
includeTypes = "citext"
priority = "-2147483648"
}
forcedType {
userType = "java.lang.String[]"
binding = "org.jooq.postgres.extensions.bindings.CitextArrayBinding"
includeTypes = "_citext"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Hstore"
binding = "org.jooq.postgres.extensions.bindings.HstoreBinding"
includeTypes = "hstore"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Hstore[]"
binding = "org.jooq.postgres.extensions.bindings.HstoreArrayBinding"
includeTypes = "_hstore"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Inet"
binding = "org.jooq.postgres.extensions.bindings.InetBinding"
includeTypes = "inet"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Inet[]"
binding = "org.jooq.postgres.extensions.bindings.InetArrayBinding"
includeTypes = "_inet"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.IntegerRange"
binding = "org.jooq.postgres.extensions.bindings.IntegerRangeBinding"
includeTypes = "int4range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.IntegerRange[]"
binding = "org.jooq.postgres.extensions.bindings.IntegerRangeArrayBinding"
includeTypes = "_int4range"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to DateRange instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateRange"
binding = "org.jooq.postgres.extensions.bindings.LocalDateRangeBinding"
includeTypes = "daterange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to DateRange[] instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateRange[]"
binding = "org.jooq.postgres.extensions.bindings.LocalDateRangeArrayBinding"
includeTypes = "_daterange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to TimestampRange instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateTimeRange"
binding = "org.jooq.postgres.extensions.bindings.LocalDateTimeRangeBinding"
includeTypes = "tsrange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to TimestampRange[] instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateTimeRange[]"
binding = "org.jooq.postgres.extensions.bindings.LocalDateTimeRangeArrayBinding"
includeTypes = "_tsrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.LongRange"
binding = "org.jooq.postgres.extensions.bindings.LongRangeBinding"
includeTypes = "int8range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.LongRange[]"
binding = "org.jooq.postgres.extensions.bindings.LongRangeArrayBinding"
includeTypes = "_int8range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Ltree"
binding = "org.jooq.postgres.extensions.bindings.LtreeBinding"
includeTypes = "ltree"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Ltree[]"
binding = "org.jooq.postgres.extensions.bindings.LtreeArrayBinding"
includeTypes = "_ltree"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.OffsetDateTimeRange"
binding = "org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeBinding"
includeTypes = "tstzrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.OffsetDateTimeRange[]"
binding = "org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeArrayBinding"
includeTypes = "_tstzrange"
priority = "-2147483648"
}
}
}
}
}
See the configuration XSD and gradle code generation for more details.
configuration {
generator {
database {
forcedTypes {
forcedType {
userType = "org.jooq.postgres.extensions.types.BigDecimalRange"
binding = "org.jooq.postgres.extensions.bindings.BigDecimalRangeBinding"
includeTypes = "numrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.BigDecimalRange[]"
binding = "org.jooq.postgres.extensions.bindings.BigDecimalRangeArrayBinding"
includeTypes = "_numrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Cidr"
binding = "org.jooq.postgres.extensions.bindings.CidrBinding"
includeTypes = "cidr"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Cidr[]"
binding = "org.jooq.postgres.extensions.bindings.CidrArrayBinding"
includeTypes = "_cidr"
priority = "-2147483648"
}
forcedType {
userType = "java.lang.String"
binding = "org.jooq.postgres.extensions.bindings.CitextBinding"
includeTypes = "citext"
priority = "-2147483648"
}
forcedType {
userType = "java.lang.String[]"
binding = "org.jooq.postgres.extensions.bindings.CitextArrayBinding"
includeTypes = "_citext"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Hstore"
binding = "org.jooq.postgres.extensions.bindings.HstoreBinding"
includeTypes = "hstore"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Hstore[]"
binding = "org.jooq.postgres.extensions.bindings.HstoreArrayBinding"
includeTypes = "_hstore"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Inet"
binding = "org.jooq.postgres.extensions.bindings.InetBinding"
includeTypes = "inet"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Inet[]"
binding = "org.jooq.postgres.extensions.bindings.InetArrayBinding"
includeTypes = "_inet"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.IntegerRange"
binding = "org.jooq.postgres.extensions.bindings.IntegerRangeBinding"
includeTypes = "int4range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.IntegerRange[]"
binding = "org.jooq.postgres.extensions.bindings.IntegerRangeArrayBinding"
includeTypes = "_int4range"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to DateRange instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateRange"
binding = "org.jooq.postgres.extensions.bindings.LocalDateRangeBinding"
includeTypes = "daterange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to DateRange[] instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateRange[]"
binding = "org.jooq.postgres.extensions.bindings.LocalDateRangeArrayBinding"
includeTypes = "_daterange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to TimestampRange instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateTimeRange"
binding = "org.jooq.postgres.extensions.bindings.LocalDateTimeRangeBinding"
includeTypes = "tsrange"
priority = "-2147483648"
}
// Depending on <javaTimeTypes/>, this may map to TimestampRange[] instead
forcedType {
userType = "org.jooq.postgres.extensions.types.LocalDateTimeRange[]"
binding = "org.jooq.postgres.extensions.bindings.LocalDateTimeRangeArrayBinding"
includeTypes = "_tsrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.LongRange"
binding = "org.jooq.postgres.extensions.bindings.LongRangeBinding"
includeTypes = "int8range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.LongRange[]"
binding = "org.jooq.postgres.extensions.bindings.LongRangeArrayBinding"
includeTypes = "_int8range"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Ltree"
binding = "org.jooq.postgres.extensions.bindings.LtreeBinding"
includeTypes = "ltree"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.Ltree[]"
binding = "org.jooq.postgres.extensions.bindings.LtreeArrayBinding"
includeTypes = "_ltree"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.OffsetDateTimeRange"
binding = "org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeBinding"
includeTypes = "tstzrange"
priority = "-2147483648"
}
forcedType {
userType = "org.jooq.postgres.extensions.types.OffsetDateTimeRange[]"
binding = "org.jooq.postgres.extensions.bindings.OffsetDateTimeRangeArrayBinding"
includeTypes = "_tstzrange"
priority = "-2147483648"
}
}
}
}
}
See the configuration XSD and gradle code generation for more details.
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
References to this page
Feedback
Do you have any feedback about this page? We'd love to hear it!