This is an automated email from the ASF dual-hosted git repository.

jianbin pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git


The following commit(s) were added to refs/heads/2.x by this push:
     new d0f8c6f394 bugfix: fix dameng delete undo fail (#6714)
d0f8c6f394 is described below

commit d0f8c6f394b85beda77daa63c232ca4412e0a8f7
Author: chd <[email protected]>
AuthorDate: Thu Aug 1 17:18:09 2024 +0800

    bugfix: fix dameng delete undo fail (#6714)
---
 changes/en-us/2.x.md                                         |  1 +
 changes/zh-cn/2.x.md                                         |  1 +
 .../seata/rm/datasource/undo/dm/DmUndoDeleteExecutor.java    | 12 +++++++++++-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 55693f1bbf..18addd0908 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -19,6 +19,7 @@ Add changes here for all PR submitted to the 2.x branch.
 - [[#6697](https://github.com/apache/incubator-seata/pull/6697)] v0 ByteBuf 
should not decode by super class
 - [[#6707](https://github.com/apache/incubator-seata/pull/6707)] fix readonly 
branch commit errors in Oracle XA transactions
 - [[#6711](https://github.com/apache/incubator-seata/pull/6711)] fix dameng 
rollback info un compress fail
+- [[#6714](https://github.com/apache/incubator-seata/pull/6714)] fix dameng 
delete undo fail
 
 
 ### optimize:
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index 1fb70fcca3..66ef670815 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -21,6 +21,7 @@
 - [[#6697](https://github.com/apache/incubator-seata/pull/6697)] 
v0版本的ByteBuf不应由父类先解码
 - [[#6707](https://github.com/apache/incubator-seata/pull/6707)] 修复Oracle 
XA事务中只读分支提交出错的问题
 - [[#6711](https://github.com/apache/incubator-seata/pull/6711)] 
修复达梦数据库的getRollbackInfo没有解压缩的问题
+- [[#6714](https://github.com/apache/incubator-seata/pull/6714)] 
修复达梦数据库的delete sql回滚失败的问题
 
 ### optimize:
 - [[#6499](https://github.com/apache/incubator-seata/pull/6499)] 拆分 committing 
和 rollbacking 状态的任务线程池
diff --git 
a/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/dm/DmUndoDeleteExecutor.java
 
b/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/dm/DmUndoDeleteExecutor.java
index 0af070cc77..2ceaf69542 100644
--- 
a/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/dm/DmUndoDeleteExecutor.java
+++ 
b/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/dm/DmUndoDeleteExecutor.java
@@ -69,7 +69,17 @@ public class DmUndoDeleteExecutor extends 
AbstractUndoExecutor {
         String insertValues = fields.stream().map(field -> "?")
             .collect(Collectors.joining(", "));
 
-        return String.format(INSERT_SQL_TEMPLATE, sqlUndoLog.getTableName(), 
insertColumns, insertValues);
+        return "SET IDENTITY_INSERT " +
+                sqlUndoLog.getTableName() +
+                " ON; INSERT INTO " +
+                sqlUndoLog.getTableName() +
+                " (" +
+                insertColumns +
+                ") VALUES (" +
+                insertValues +
+                "); SET IDENTITY_INSERT " +
+                sqlUndoLog.getTableName() +
+                " OFF;";
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to