From fc02f0eb30829d9aa98adbbb8502090f299e6604 Mon Sep 17 00:00:00 2001 From: Dennis Melzer Date: Tue, 25 Mar 2025 08:35:18 +0100 Subject: [PATCH 1/2] fix: default exception translator Signed-off-by: Dennis Melzer --- .../jooq/DefaultExceptionTranslatorExecuteListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java index c6d67c7a7c3a..a2d976db9ab7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java @@ -114,7 +114,7 @@ public SQLExceptionTranslator apply(ExecuteContext context) { private SQLExceptionTranslator apply(SQLDialect dialect) { String dbName = getSpringDbName(dialect); return (dbName != null) ? new SQLErrorCodeSQLExceptionTranslator(dbName) - : new SQLStateSQLExceptionTranslator(); + : new SQLErrorCodeSQLExceptionTranslator(); } private String getSpringDbName(SQLDialect dialect) { From c953854d243b9b426f066717ffa003164c4f33f0 Mon Sep 17 00:00:00 2001 From: Dennis Melzer Date: Tue, 25 Mar 2025 08:35:49 +0100 Subject: [PATCH 2/2] add test case Signed-off-by: Dennis Melzer --- ...DefaultExceptionTranslatorExecuteListenerTests.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java index c4c36b20ff86..1f6d7cd7c1d1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.jooq; import java.sql.SQLException; +import java.sql.SQLSyntaxErrorException; import java.util.function.Function; import org.jooq.Configuration; @@ -94,11 +95,18 @@ private ExecuteContext mockContext(SQLDialect dialect, SQLException sqlException static Object[] exceptionTranslatesSqlExceptions() { return new Object[] { new Object[] { SQLDialect.DERBY, sqlException("42802") }, new Object[] { SQLDialect.H2, sqlException(42000) }, + new Object[] { SQLDialect.H2, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.HSQLDB, sqlException(-22) }, + new Object[] { SQLDialect.HSQLDB, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.MARIADB, sqlException(1054) }, + new Object[] { SQLDialect.MARIADB, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.MYSQL, sqlException(1054) }, + new Object[] { SQLDialect.MYSQL, new SQLSyntaxErrorException() }, new Object[] { SQLDialect.POSTGRES, sqlException("03000") }, - new Object[] { SQLDialect.SQLITE, sqlException("21000") } }; + new Object[] { SQLDialect.POSTGRES, new SQLSyntaxErrorException() }, + new Object[] { SQLDialect.SQLITE, new SQLSyntaxErrorException() }, + new Object[] { SQLDialect.SQLITE, sqlException("21000") }, + }; } private static SQLException sqlException(String sqlState) {