[jOOQ/jOOQ#15042] Support NULL bind values of type UUID in R2DBC integration

This commit is contained in:
Lukas Eder 2023-05-08 09:23:45 +02:00
parent c8e26b04d6
commit dcbb0e5aa3

View File

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