Skip to content

Commit 6801b1a

Browse files
MelleDsnicoll
authored andcommitted
Use proper default exception translator if no dbName is available
This commit updates jOOQ's DefaultExceptionTranslatorExecuteListener to fallback on Spring Framework's default if no dbName is available. See gh-44954 Signed-off-by: Dennis Melzer <[email protected]>
1 parent b218e9d commit 6801b1a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListener.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public SQLExceptionTranslator apply(ExecuteContext context) {
114114
private SQLExceptionTranslator apply(SQLDialect dialect) {
115115
String dbName = getSpringDbName(dialect);
116116
return (dbName != null) ? new SQLErrorCodeSQLExceptionTranslator(dbName)
117-
: new SQLStateSQLExceptionTranslator();
117+
: new SQLErrorCodeSQLExceptionTranslator();
118118
}
119119

120120
private String getSpringDbName(SQLDialect dialect) {

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/DefaultExceptionTranslatorExecuteListenerTests.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.autoconfigure.jooq;
1818

1919
import java.sql.SQLException;
20+
import java.sql.SQLSyntaxErrorException;
2021
import java.util.function.Function;
2122

2223
import org.jooq.Configuration;
@@ -94,11 +95,18 @@ private ExecuteContext mockContext(SQLDialect dialect, SQLException sqlException
9495
static Object[] exceptionTranslatesSqlExceptions() {
9596
return new Object[] { new Object[] { SQLDialect.DERBY, sqlException("42802") },
9697
new Object[] { SQLDialect.H2, sqlException(42000) },
98+
new Object[] { SQLDialect.H2, new SQLSyntaxErrorException() },
9799
new Object[] { SQLDialect.HSQLDB, sqlException(-22) },
100+
new Object[] { SQLDialect.HSQLDB, new SQLSyntaxErrorException() },
98101
new Object[] { SQLDialect.MARIADB, sqlException(1054) },
102+
new Object[] { SQLDialect.MARIADB, new SQLSyntaxErrorException() },
99103
new Object[] { SQLDialect.MYSQL, sqlException(1054) },
104+
new Object[] { SQLDialect.MYSQL, new SQLSyntaxErrorException() },
100105
new Object[] { SQLDialect.POSTGRES, sqlException("03000") },
101-
new Object[] { SQLDialect.SQLITE, sqlException("21000") } };
106+
new Object[] { SQLDialect.POSTGRES, new SQLSyntaxErrorException() },
107+
new Object[] { SQLDialect.SQLITE, new SQLSyntaxErrorException() },
108+
new Object[] { SQLDialect.SQLITE, sqlException("21000") },
109+
};
102110
}
103111

104112
private static SQLException sqlException(String sqlState) {

0 commit comments

Comments
 (0)