From dcbb0e5aa39a233a0bd412fd7bdf2840d5f8c84c Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 8 May 2023 09:23:45 +0200 Subject: [PATCH] [jOOQ/jOOQ#15042] Support NULL bind values of type UUID in R2DBC integration --- jOOQ/src/main/java/org/jooq/impl/R2DBC.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/R2DBC.java b/jOOQ/src/main/java/org/jooq/impl/R2DBC.java index 6e78d39507..a046d608dc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/R2DBC.java +++ b/jOOQ/src/main/java/org/jooq/impl/R2DBC.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +import static org.jooq.SQLDialect.MARIADB; // ... import static org.jooq.ContextConverter.scoped; import static org.jooq.conf.ParamType.NAMED; @@ -68,6 +69,8 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Year; import java.util.Properties; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -956,6 +959,8 @@ final class R2DBC { } } + private static final Set NO_SUPPORT_UUID = SQLDialect.supportedBy(MARIADB); + private final Class nullType(Class type) { // [#11700] Intercept JDBC temporal types, which aren't supported by R2DBC @@ -973,6 +978,8 @@ final class R2DBC { return String.class; else if (type == JSONB.class) return String.class; + else if (type == UUID.class && NO_SUPPORT_UUID.contains(c.dialect())) + return String.class; else if (Enum.class.isAssignableFrom(type)) return String.class; else if (Interval.class.isAssignableFrom(type))