parent
5752e03d97
commit
c5bcfc7682
|
@ -90,8 +90,8 @@ public class SQLStateSQLExceptionTranslator extends AbstractFallbackSQLException
|
|||
);
|
||||
|
||||
private static final Set<Integer> DUPLICATE_KEY_ERROR_CODES = Set.of(
|
||||
1, // Oracle
|
||||
301, // Sap Hana
|
||||
1, // Oracle
|
||||
301, // SAP HANA
|
||||
1062, // MySQL/MariaDB
|
||||
2601, // MS SQL Server
|
||||
2627 // MS SQL Server
|
||||
|
@ -163,12 +163,12 @@ public class SQLStateSQLExceptionTranslator extends AbstractFallbackSQLException
|
|||
|
||||
|
||||
/**
|
||||
* Check whether the given SQL state (and the associated error code in case
|
||||
* Check whether the given SQL state and the associated error code (in case
|
||||
* of a generic SQL state value) indicate a {@link DuplicateKeyException}:
|
||||
* either SQL state 23505 as a specific indication, or the generic SQL state
|
||||
* 23000 with well-known vendor codes.
|
||||
* 23000 with a well-known vendor code.
|
||||
* @param sqlState the SQL state value
|
||||
* @param errorCode the error code value
|
||||
* @param errorCode the error code
|
||||
*/
|
||||
static boolean indicatesDuplicateKey(@Nullable String sqlState, int errorCode) {
|
||||
return ("23505".equals(sqlState) ||
|
||||
|
|
|
@ -84,7 +84,7 @@ class SQLStateSQLExceptionTranslatorTests {
|
|||
assertTranslation("23000", 2627, DuplicateKeyException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Test // gh-31554
|
||||
void translateDuplicateKeySapHana() {
|
||||
assertTranslation("23000", 301, DuplicateKeyException.class);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue