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 0b1d07d4c4 bugfix: fix KingbaseUndoLogManager INSERT_UNDO_LOG_SQL 
error (#7929)
0b1d07d4c4 is described below

commit 0b1d07d4c4b00141762058c1f45f9abf97cc9ee0
Author: lokidundun <[email protected]>
AuthorDate: Mon Jan 12 13:42:27 2026 +0800

    bugfix: fix KingbaseUndoLogManager INSERT_UNDO_LOG_SQL error (#7929)
---
 changes/en-us/2.x.md                                                | 3 +++
 changes/zh-cn/2.x.md                                                | 3 +++
 .../seata/rm/datasource/undo/kingbase/KingbaseUndoLogManager.java   | 2 +-
 .../rm/datasource/undo/kingbase/KingbaseUndoLogManagerTest.java     | 6 +++---
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index de80e8f743..034bd47fe3 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -23,6 +23,8 @@ Add changes here for all PR submitted to the 2.x branch.
 
 ### bugfix:
 
+- [[#7929](https://github.com/apache/incubator-seata/pull/7929)] fix 
KingbaseUndoLogManager INSERT_UNDO_LOG_SQL error
+
 
 ### optimize:
 
@@ -44,6 +46,7 @@ Thanks to these contributors for their code commits. Please 
report an unintended
 <!-- Please make sure your Github ID is in the list below -->
 
 - [slievrly](https://github.com/slievrly)
+- [lokidundun](https://github.com/lokidundun)
 
 
 Also, we receive many valuable issues, questions and advices from our 
community. Thanks for you all.
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index ae2a3808f0..859b4ce1f0 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -23,6 +23,8 @@
 
 ### bugfix:
 
+- [[#7929](https://github.com/apache/incubator-seata/pull/7929)] 修复 
KingbaseUndoLogManager INSERT_UNDO_LOG_SQL 错误
+
 
 ### optimize:
 
@@ -44,6 +46,7 @@
 <!-- 请确保您的 GitHub ID 在以下列表中 -->
 
 - [slievrly](https://github.com/slievrly)
+- [lokidundun](https://github.com/lokidundun)
 
 
 同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
diff --git 
a/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManager.java
 
b/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManager.java
index f0ab78fb51..3ba1c2e48f 100644
--- 
a/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManager.java
+++ 
b/rm-datasource/src/main/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManager.java
@@ -46,7 +46,7 @@ public class KingbaseUndoLogManager extends 
AbstractUndoLogManager {
             + ClientTableColumnsName.UNDO_LOG_XID + ", " + 
ClientTableColumnsName.UNDO_LOG_CONTEXT + ", "
             + ClientTableColumnsName.UNDO_LOG_ROLLBACK_INFO + ", " + 
ClientTableColumnsName.UNDO_LOG_LOG_STATUS + ", "
             + ClientTableColumnsName.UNDO_LOG_LOG_CREATED + ", " + 
ClientTableColumnsName.UNDO_LOG_LOG_MODIFIED + ")"
-            + "VALUES (" + UNDO_LOG_TABLE_NAME.toUpperCase() + "_SEQ.nextval, 
?, ?, ?, ?, ?, sysdate, sysdate)";
+            + "VALUES (nextval('" + UNDO_LOG_TABLE_NAME.toUpperCase() + 
"_SEQ'), ?, ?, ?, ?, ?, sysdate, sysdate)";
 
     private static final String DELETE_UNDO_LOG_BY_CREATE_SQL = "DELETE FROM " 
+ UNDO_LOG_TABLE_NAME + " WHERE "
             + ClientTableColumnsName.UNDO_LOG_LOG_CREATED + " <= 
to_date(?,'yyyy-mm-dd hh24:mi:ss') and ROWNUM <= ?";
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManagerTest.java
 
b/rm-datasource/src/test/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManagerTest.java
index dce44b905a..90bb6a7fa6 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManagerTest.java
+++ 
b/rm-datasource/src/test/java/org/apache/seata/rm/datasource/undo/kingbase/KingbaseUndoLogManagerTest.java
@@ -192,7 +192,7 @@ public class KingbaseUndoLogManagerTest {
 
         // Verify default uses UNDO_LOG_SEQ (uppercase, following Kingbase 
community convention)
         Assertions.assertTrue(
-                insertSql.contains("UNDO_LOG_SEQ.nextval"),
+                insertSql.contains("nextval('UNDO_LOG_SEQ')"),
                 "Should use UNDO_LOG_SEQ sequence (uppercase) by default. 
Actual SQL: " + insertSql);
 
         // Verify SQL contains correct table name
@@ -228,7 +228,7 @@ public class KingbaseUndoLogManagerTest {
 
         // Verify the sequence name follows the pattern: {table_name}_SEQ 
(uppercase for Kingbase)
         String expectedSequenceName = actualTableName.toUpperCase() + "_SEQ";
-        String expectedSequenceCall = expectedSequenceName + ".nextval";
+        String expectedSequenceCall = "nextval('" + expectedSequenceName + 
"')";
 
         // Test that the INSERT SQL contains the properly derived sequence name
         Assertions.assertTrue(
@@ -306,7 +306,7 @@ public class KingbaseUndoLogManagerTest {
         // Verify key SQL components
         Assertions.assertTrue(insertSql.contains("INSERT INTO undo_log"), 
"Should keep default table name 'undo_log'");
         Assertions.assertTrue(
-                insertSql.contains("UNDO_LOG_SEQ.nextval"),
+                insertSql.contains("nextval('UNDO_LOG_SEQ')"),
                 "Should keep default sequence name 'UNDO_LOG_SEQ' 
(uppercase)");
         Assertions.assertTrue(insertSql.contains("sysdate"), "Should keep 
Kingbase time function sysdate");
 


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

Reply via email to