This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 50df28e6a96 Add duplicate entry error for MySQL (#35321)
50df28e6a96 is described below
commit 50df28e6a962cbf8981c3f6f8993cf0de2c070d4
Author: Liang Zhang <[email protected]>
AuthorDate: Sun May 4 21:46:05 2025 +0800
Add duplicate entry error for MySQL (#35321)
- Add new error code for duplicate entry in MySQL
- Update existing parse error code to handle duplicate entry scenario
- Add integrity constraint violation SQL state
---
.../infra/exception/core/external/sql/sqlstate/XOpenSQLState.java | 2 ++
.../shardingsphere/infra/exception/mysql/vendor/MySQLVendorError.java | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java
index f23d1c3c2f6..05ad8598ee7 100644
---
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java
+++
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/external/sql/sqlstate/XOpenSQLState.java
@@ -47,6 +47,8 @@ public enum XOpenSQLState implements SQLState {
INVALID_PARAMETER_VALUE("22023"),
+ INTEGRITY_CONSTRAINT_VIOLATION("23000"),
+
INVALID_TRANSACTION_STATE("25000"),
INVALID_AUTHORIZATION_SPECIFICATION("28000"),
diff --git
a/infra/exception/dialect/type/mysql/src/main/java/org/apache/shardingsphere/infra/exception/mysql/vendor/MySQLVendorError.java
b/infra/exception/dialect/type/mysql/src/main/java/org/apache/shardingsphere/infra/exception/mysql/vendor/MySQLVendorError.java
index 36538dae5ee..e8be69694ee 100644
---
a/infra/exception/dialect/type/mysql/src/main/java/org/apache/shardingsphere/infra/exception/mysql/vendor/MySQLVendorError.java
+++
b/infra/exception/dialect/type/mysql/src/main/java/org/apache/shardingsphere/infra/exception/mysql/vendor/MySQLVendorError.java
@@ -50,7 +50,9 @@ public enum MySQLVendorError implements VendorError {
ER_TABLE_EXISTS_ERROR(XOpenSQLState.DUPLICATE, 1050, "Table '%s' already
exists"),
- ER_PARSE_ERROR(XOpenSQLState.SYNTAX_ERROR, 1064, "%s near '%s' at line
%d"),
+ ER_DUP_ENTRY(XOpenSQLState.SYNTAX_ERROR, 1062, "%s near '%s' at line %d"),
+
+ ER_PARSE_ERROR(XOpenSQLState.INTEGRITY_CONSTRAINT_VIOLATION, 1064,
"Duplicate entry '%s' for key %d"),
ER_UNKNOWN_CHARACTER_SET(XOpenSQLState.SYNTAX_ERROR, 1115, "Unknown
character set: '%s'"),