diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java
index 10ba475155..59bc4c222c 100644
--- a/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/CreateFunctionImpl.java
@@ -297,6 +297,10 @@ package org.jooq.impl;
+
+
+
+
diff --git a/jOOQ/src/main/java/org/jooq/impl/DateToLocalDateConverter.java b/jOOQ/src/main/java/org/jooq/impl/DateToLocalDateConverter.java
index e2719ec601..d72cdbb92e 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DateToLocalDateConverter.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DateToLocalDateConverter.java
@@ -40,9 +40,16 @@ package org.jooq.impl;
import java.sql.Date;
import java.time.LocalDate;
+import org.jooq.Converter;
+
/**
* @author Lukas Eder
+ * @deprecated - 3.15.0 - [#11505] - Use
+ * {@link Converter#ofNullable(Class, Class, java.util.function.Function, java.util.function.Function)}
+ * instead, e.g.
+ * Converter.ofNullable(Date.class, LocalDate.class, Date::toLocalDate, Date::valueOf).
*/
+@Deprecated
public final class DateToLocalDateConverter extends AbstractConverter {
/**
diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java
index a90003f606..9a2e81dd82 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java
@@ -102,13 +102,17 @@ import static org.jooq.impl.Keywords.K_TIME_WITH_TIME_ZONE;
import static org.jooq.impl.Keywords.K_TRUE;
import static org.jooq.impl.Keywords.K_YEAR_TO_DAY;
import static org.jooq.impl.Keywords.K_YEAR_TO_FRACTION;
+import static org.jooq.impl.SQLDataType.BIGINT;
import static org.jooq.impl.SQLDataType.BLOB;
import static org.jooq.impl.SQLDataType.CHAR;
import static org.jooq.impl.SQLDataType.DATE;
+import static org.jooq.impl.SQLDataType.DECIMAL_INTEGER;
import static org.jooq.impl.SQLDataType.DOUBLE;
+import static org.jooq.impl.SQLDataType.INTEGER;
import static org.jooq.impl.SQLDataType.LONGVARCHAR;
import static org.jooq.impl.SQLDataType.OTHER;
import static org.jooq.impl.SQLDataType.ROWID;
+import static org.jooq.impl.SQLDataType.SMALLINT;
import static org.jooq.impl.SQLDataType.TIME;
import static org.jooq.impl.SQLDataType.TIMESTAMP;
import static org.jooq.impl.SQLDataType.VARCHAR;
@@ -281,24 +285,27 @@ public class DefaultBinding implements Binding {
return new DefaultJSONBBinding(dataType, converter);
else if (type == XML.class)
return new DefaultXMLBinding(dataType, converter);
- else if (type == LocalDate.class) {
- DateToLocalDateConverter c1 = new DateToLocalDateConverter();
- Converter c2 = (Converter) converter;
- Converter c3 = Converters.of(c1, c2);
- return (Binding) new DelegatingBinding<>((DataType) dataType, c1, c2, new DefaultDateBinding<>(DATE, c3));
- }
- else if (type == LocalDateTime.class) {
- TimestampToLocalDateTimeConverter c1 = new TimestampToLocalDateTimeConverter();
- Converter c2 = (Converter) converter;
- Converter c3 = Converters.of(c1, c2);
- return (Binding) new DelegatingBinding<>((DataType) dataType, c1, c2, new DefaultTimestampBinding<>(TIMESTAMP, c3));
- }
- else if (type == LocalTime.class) {
- TimeToLocalTimeConverter c1 = new TimeToLocalTimeConverter();
- Converter c2 = (Converter) converter;
- Converter