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))