From b96cb972c9134b2063e8c57f63687a80aee2bb4b Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 29 Mar 2018 11:04:57 +0200 Subject: [PATCH] [#7351] Cast UUID data type bind values in PostgreSQL --- jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index fd5ee9a91e..bcd704fc19 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -621,12 +621,13 @@ public class DefaultBinding implements Binding { // [#1125] Also with temporal data types, casting is needed some times // [#4338] ... specifically when using JSR-310 types // [#1130] TODO type can be null for ARRAY types, etc. - else if (POSTGRES == family && (sqlDataType == null || !sqlDataType.isTemporal())) + // [#7351] UUID data types need to be cast too + else if (POSTGRES == family && (sqlDataType == null || (!sqlDataType.isTemporal() && sqlDataType != SQLDataType.UUID))) sql(ctx, converted); // [#1727] VARCHAR types should be cast to their actual lengths in some // dialects - else if ((sqlDataType == SQLDataType.VARCHAR || sqlDataType == SQLDataType.CHAR) && FIREBIRD == family) + else if (FIREBIRD == family && (sqlDataType == SQLDataType.VARCHAR || sqlDataType == SQLDataType.CHAR)) sqlCast(ctx, converted, dataType, getValueLength((String) converted), 0, 0);