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 886874e26e test: add UT for DM/kingbase/oscar sqlparser (#7203)
886874e26e is described below

commit 886874e26eb5ade85f45c65c147c056b7baeb08a
Author: YoWuwuuuw <3123004...@mail2.gdut.edu.cn>
AuthorDate: Thu Mar 13 09:10:28 2025 +0800

    test: add UT for DM/kingbase/oscar sqlparser (#7203)
---
 changes/en-us/2.x.md                               |   2 +
 changes/zh-cn/2.x.md                               |   2 +
 .../postgresql/PostgresqlUpdateRecognizerTest.java | 144 ---------------------
 .../druid/dm/DmDeleteRecognizerTest.java           |   3 +-
 .../druid/dm/DmInsertRecognizerTest.java           |   2 +-
 .../druid/dm/DmSelectForUpdateRecognizerTest.java  |   3 +-
 .../druid/dm/DmUpdateRecognizerTest.java           |   3 +-
 .../kingbase/KingbaseDeleteRecognizerTest.java     |   2 +-
 .../kingbase/KingbaseInsertRecognizerTest.java     |   2 +-
 .../KingbaseSelectForUpdateRecognizerTest.java     |   2 +-
 .../kingbase/KingbaseUpdateRecognizerTest.java     |   2 +-
 .../{ => mariadb}/MariadbDeleteRecognizerTest.java |   5 +-
 .../{ => mariadb}/MariadbInsertRecognizerTest.java |   5 +-
 .../MariadbSelectForUpdateRecognizerTest.java      |   4 +-
 .../{ => mariadb}/MariadbUpdateRecognizerTest.java |   4 +-
 .../{ => mysql}/MySQLDeleteRecognizerTest.java     |   5 +-
 .../{ => mysql}/MySQLInsertRecognizerTest.java     |   4 +-
 .../MySQLSelectForUpdateRecognizerTest.java        |   4 +-
 .../{ => mysql}/MySQLUpdateRecognizerTest.java     |   4 +-
 .../druid/oracle/OracleDeleteRecognizerTest.java   |   2 +-
 .../druid/oracle/OracleInsertRecognizerTest.java   |   2 +-
 .../OracleSelectForUpdateRecognizerTest.java       |   2 +-
 .../druid/oracle/OracleUpdateRecognizerTest.java   |   2 +-
 .../druid/oscar/OscarDeleteRecognizerTest.java     |   2 +-
 .../druid/oscar/OscarInsertRecognizerTest.java     |   2 +-
 .../oscar/OscarSelectForUpdateRecognizerTest.java  |   2 +-
 .../druid/oscar/OscarUpdateRecognizerTest.java     |   2 +-
 .../postgresql/PostgresqlDeleteRecognizerTest.java |  39 +++---
 .../postgresql/PostgresqlInsertRecognizerTest.java |  45 +++----
 .../PostgresqlSelectForUpdateRecognizerTest.java   |  32 +++--
 .../postgresql/PostgresqlUpdateRecognizerTest.java |  74 ++++++-----
 31 files changed, 133 insertions(+), 275 deletions(-)

diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 18c3425959..80f87722f9 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -70,6 +70,7 @@ Add changes here for all PR submitted to the 2.x branch.
 - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] Refactored 
tests in `DurationUtilTest` to simplify and use parameterized unit testing
 - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] fix the 
runtime exception in the saga test case
 - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] add some UT 
cases for client processor
+- [[#7203](https://github.com/apache/incubator-seata/pull/7203)] Refactored 
tests in rm.datasource.sql.Druid and seata-sqlparser-druid module
 
 ### refactor:
 
@@ -96,5 +97,6 @@ Thanks to these contributors for their code commits. Please 
report an unintended
 - [Monilnarang](https://github.com/Monilnarang)
 - [iAmClever](https://github.com/iAmClever)
 - [s-ramyalakshmi](https://github.com/s-ramyalakshmi)
+- [YoWuwuuuw](https://github.com/YoWuwuuuw)
 
 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 4a14fbd76a..9028845c73 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -70,6 +70,7 @@
 - [[#7167](https://github.com/apache/incubator-seata/pull/7167)] 重构了 
DurationUtilTest 中的测试,以简化并使用参数化单元测试
 - [[#7189](https://github.com/apache/incubator-seata/pull/7189)] 修复saga测试用例运行异常
 - [[#7199](https://github.com/apache/incubator-seata/pull/7199)] 增加 client 
processor 单测用例
+- [[#7203](https://github.com/apache/incubator-seata/pull/7203)] 重构了 
rm.datasource.sql.Druid 和 seata-sqlparser-druid 模块中的测试
 
 ### refactor:
 
@@ -96,5 +97,6 @@
 - [Monilnarang](https://github.com/Monilnarang)
 - [iAmClever](https://github.com/iAmClever)
 - [s-ramyalakshmi](https://github.com/s-ramyalakshmi)
+- [YoWuwuuuw](https://github.com/YoWuwuuuw)
 
 同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlUpdateRecognizerTest.java
 
b/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlUpdateRecognizerTest.java
deleted file mode 100644
index daf632654b..0000000000
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlUpdateRecognizerTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.seata.rm.datasource.sql.druid.postgresql;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import com.alibaba.druid.sql.SQLUtils;
-import com.alibaba.druid.sql.ast.SQLStatement;
-import com.alibaba.druid.sql.ast.expr.SQLBetweenExpr;
-import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem;
-import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
-import org.apache.seata.rm.datasource.sql.SQLVisitorFactory;
-import org.apache.seata.sqlparser.ParametersHolder;
-import org.apache.seata.sqlparser.SQLParsingException;
-import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.SQLUpdateRecognizer;
-import org.apache.seata.sqlparser.druid.postgresql.PostgresqlUpdateRecognizer;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-
-public class PostgresqlUpdateRecognizerTest {
-
-    private static final String DB_TYPE = "postgresql";
-
-    @Test
-    public void testGetSqlType() {
-        String sql = "update t set n = ?";
-
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertEquals(recognizer.getSQLType(), SQLType.UPDATE);
-    }
-
-    @Test
-    public void testGetUpdateColumns() {
-        // test with normal
-        String sql = "update t set a = ?, b = ?, c = ?";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        List<String> updateColumns = recognizer.getUpdateColumns();
-        Assertions.assertEquals(updateColumns.size(), 3);
-
-        // test with alias
-        sql = "update t set a.a = ?, a.b = ?, a.c = ?";
-        recognizer = (SQLUpdateRecognizer) SQLVisitorFactory.get(sql, 
DB_TYPE).get(0);
-        updateColumns = recognizer.getUpdateColumns();
-        Assertions.assertEquals(updateColumns.size(), 3);
-
-        //test with error
-        Assertions.assertThrows(SQLParsingException.class, () -> {
-            String s = "update t set a = a";
-            List<SQLStatement> sqlStatements = SQLUtils.parseStatements(s, 
DB_TYPE);
-            SQLUpdateStatement sqlUpdateStatement = (SQLUpdateStatement) 
sqlStatements.get(0);
-            List<SQLUpdateSetItem> updateSetItems = 
sqlUpdateStatement.getItems();
-            for (SQLUpdateSetItem updateSetItem : updateSetItems) {
-                updateSetItem.setColumn(new SQLBetweenExpr());
-            }
-            PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(s, sqlUpdateStatement);
-            postgresqlUpdateRecognizer.getUpdateColumns();
-        });
-    }
-
-    @Test
-    public void testGetUpdateValues() {
-        // test with normal
-        String sql = "update t set a = ?, b = ?, c = ?";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        List<Object> updateValues = recognizer.getUpdateValues();
-        Assertions.assertEquals(updateValues.size(), 3);
-
-        // test with values
-        sql = "update t set a = 1, b = 2, c = 3";
-        recognizer = (SQLUpdateRecognizer) SQLVisitorFactory.get(sql, 
DB_TYPE).get(0);
-        updateValues = recognizer.getUpdateValues();
-        Assertions.assertEquals(updateValues.size(), 3);
-
-        // test with error
-        Assertions.assertThrows(SQLParsingException.class, () -> {
-            String s = "update t set a = ?";
-            List<SQLStatement> sqlStatements = SQLUtils.parseStatements(s, 
DB_TYPE);
-            SQLUpdateStatement sqlUpdateStatement = (SQLUpdateStatement) 
sqlStatements.get(0);
-            List<SQLUpdateSetItem> updateSetItems = 
sqlUpdateStatement.getItems();
-            for (SQLUpdateSetItem updateSetItem : updateSetItems) {
-                updateSetItem.setValue(new SQLBetweenExpr());
-            }
-            PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(s, sqlUpdateStatement);
-            postgresqlUpdateRecognizer.getUpdateValues();
-        });
-    }
-
-    @Test
-    public void testGetWhereCondition_0() {
-        String sql = "update t set a = 1";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        String whereCondition = recognizer.getWhereCondition(new 
ParametersHolder() {
-            @Override
-            public Map<Integer, ArrayList<Object>> getParameters() {
-                return null;
-            }
-        }, new ArrayList<>());
-
-        Assertions.assertEquals("", whereCondition);
-    }
-
-    @Test
-    public void testGetWhereCondition_1() {
-
-        String sql = "update t set a = 1";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        String whereCondition = recognizer.getWhereCondition();
-
-        Assertions.assertEquals("", whereCondition);
-    }
-
-    @Test
-    public void testGetTableAlias() {
-        String sql = "update t set a = ?, b = ?, c = ?";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertNull(recognizer.getTableAlias());
-    }
-
-    @Test
-    public void testGetTableName() {
-        String sql = "update t set a = ?, b = ?, c = ?";
-        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertEquals(recognizer.getTableName(), "t");
-    }
-
-}
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmDeleteRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmDeleteRecognizerTest.java
index dd70cb31e6..4aba0d22ed 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.dm;
+package org.apache.seata.sqlparser.druid.dm;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -22,7 +22,6 @@ import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
 import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleArgumentExpr;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.dm.DmDeleteRecognizer;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmInsertRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmInsertRecognizerTest.java
index 1260d08575..995d10caaf 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmInsertRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.dm;
+package org.apache.seata.sqlparser.druid.dm;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmSelectForUpdateRecognizerTest.java
similarity index 97%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmSelectForUpdateRecognizerTest.java
index 6e51aecb7a..7353768b58 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.dm;
+package org.apache.seata.sqlparser.druid.dm;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -22,7 +22,6 @@ import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.dm.DmSelectForUpdateRecognizer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmUpdateRecognizerTest.java
similarity index 98%
copy from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
copy to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmUpdateRecognizerTest.java
index b392dbe047..977b901a55 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/dm/DmUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.dm;
+package org.apache.seata.sqlparser.druid.dm;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -24,7 +24,6 @@ import 
com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleCursorExpr;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.dm.DmUpdateRecognizer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseDeleteRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseDeleteRecognizerTest.java
index b969166691..764647b609 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.kingbase;
+package org.apache.seata.sqlparser.druid.kingbase;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseInsertRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseInsertRecognizerTest.java
index f3d80ebbf4..4176c811aa 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseInsertRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.kingbase;
+package org.apache.seata.sqlparser.druid.kingbase;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
index 3b946d3c89..bf86ec6963 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.kingbase;
+package org.apache.seata.sqlparser.druid.kingbase;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseUpdateRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseUpdateRecognizerTest.java
index 1196b5a1d5..75ce139247 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/kingbase/KingbaseUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/kingbase/KingbaseUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.kingbase;
+package org.apache.seata.sqlparser.druid.kingbase;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbDeleteRecognizerTest.java
similarity index 98%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbDeleteRecognizerTest.java
index 059bc4d384..41ee967f99 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mariadb;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -23,7 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.seata.sqlparser.druid.mariadb.MariadbDeleteRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
+import org.apache.seata.sqlparser.druid.BaseRecognizer;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbInsertRecognizerTest.java
similarity index 97%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbInsertRecognizerTest.java
index e859f6ea03..1f1c9c55df 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbInsertRecognizerTest.java
@@ -14,14 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mariadb;
 
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.seata.sqlparser.druid.mariadb.MariadbInsertRecognizer;
-import org.apache.seata.sqlparser.druid.mysql.MySQLInsertRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbSelectForUpdateRecognizerTest.java
similarity index 98%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbSelectForUpdateRecognizerTest.java
index badc0fb50d..e02ce36504 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mariadb;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import 
org.apache.seata.sqlparser.druid.mariadb.MariadbSelectForUpdateRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbUpdateRecognizerTest.java
similarity index 99%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbUpdateRecognizerTest.java
index 60185c3bd3..d6dc191ac0 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MariadbUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mariadb/MariadbUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mariadb;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.seata.sqlparser.druid.mariadb.MariadbUpdateRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLDeleteRecognizerTest.java
similarity index 98%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLDeleteRecognizerTest.java
index 85c9d7a458..5ae300ded0 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mysql;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -22,7 +22,8 @@ import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
 import com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlOrderingExpr;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.mysql.MySQLDeleteRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
+import org.apache.seata.sqlparser.druid.BaseRecognizer;
 import org.apache.seata.sqlparser.util.JdbcConstants;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLInsertRecognizerTest.java
similarity index 98%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLInsertRecognizerTest.java
index 0a50a4af4f..abe5e6dc50 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLInsertRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mysql;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -27,7 +27,7 @@ import 
com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlOrderingExpr;
 
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.mysql.MySQLInsertRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.apache.seata.sqlparser.util.JdbcConstants;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLSelectForUpdateRecognizerTest.java
similarity index 98%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLSelectForUpdateRecognizerTest.java
index 1e0989b1cc..61ed5c1c62 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mysql;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -22,7 +22,7 @@ import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.mysql.MySQLSelectForUpdateRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.apache.seata.sqlparser.util.JdbcConstants;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLUpdateRecognizerTest.java
similarity index 99%
rename from 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLUpdateRecognizerTest.java
index 02dd7627e2..968972dafb 100644
--- 
a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/MySQLUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/mysql/MySQLUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.sqlparser.druid;
+package org.apache.seata.sqlparser.druid.mysql;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
@@ -25,7 +25,7 @@ import 
com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlOrderingExpr;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.mysql.MySQLUpdateRecognizer;
+import org.apache.seata.sqlparser.druid.AbstractRecognizerTest;
 import org.apache.seata.sqlparser.util.JdbcConstants;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleDeleteRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleDeleteRecognizerTest.java
index 647a9eb18b..99f191f8e2 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oracle;
+package org.apache.seata.sqlparser.druid.oracle;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleInsertRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleInsertRecognizerTest.java
index dc38ce00e6..b2bc939ed1 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleInsertRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oracle;
+package org.apache.seata.sqlparser.druid.oracle;
 
 import java.util.Collections;
 import java.util.List;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleSelectForUpdateRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleSelectForUpdateRecognizerTest.java
index 42ad92c9e8..404260ad7c 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oracle;
+package org.apache.seata.sqlparser.druid.oracle;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleUpdateRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleUpdateRecognizerTest.java
index 8a1ea2cd33..38dd43d1c2 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oracle/OracleUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oracle/OracleUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oracle;
+package org.apache.seata.sqlparser.druid.oracle;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarDeleteRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarDeleteRecognizerTest.java
index 405198f5b5..01503d4505 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarDeleteRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oscar;
+package org.apache.seata.sqlparser.druid.oscar;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarInsertRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarInsertRecognizerTest.java
index 2a02586681..21de1fd9cf 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarInsertRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oscar;
+package org.apache.seata.sqlparser.druid.oscar;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarSelectForUpdateRecognizerTest.java
similarity index 98%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarSelectForUpdateRecognizerTest.java
index 604dcd9913..ffefd84fd3 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarSelectForUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oscar;
+package org.apache.seata.sqlparser.druid.oscar;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarUpdateRecognizerTest.java
similarity index 99%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarUpdateRecognizerTest.java
index 120086affc..926a3af89b 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/oscar/OscarUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/oscar/OscarUpdateRecognizerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.oscar;
+package org.apache.seata.sqlparser.druid.oscar;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlDeleteRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlDeleteRecognizerTest.java
similarity index 60%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlDeleteRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlDeleteRecognizerTest.java
index ac130be2f8..11b84d416e 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlDeleteRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlDeleteRecognizerTest.java
@@ -14,11 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.postgresql;
+package org.apache.seata.sqlparser.druid.postgresql;
 
 import org.apache.seata.sqlparser.ParametersHolder;
-import org.apache.seata.sqlparser.SQLDeleteRecognizer;
-import org.apache.seata.sqlparser.SQLRecognizer;
 import org.apache.seata.sqlparser.SQLType;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,8 +24,6 @@ import java.util.Map;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
-
-import org.apache.seata.rm.datasource.sql.SQLVisitorFactory;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -39,35 +35,38 @@ public class PostgresqlDeleteRecognizerTest {
     @Test
     public void testGetSqlType() {
         String sql = "delete from t where id = ?";
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLDeleteRecognizer recognizer = (SQLDeleteRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertEquals(recognizer.getSQLType(), SQLType.DELETE);
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+
+        PostgresqlDeleteRecognizer postgresqlDeleteRecognizer = new 
PostgresqlDeleteRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlDeleteRecognizer.getSQLType(), 
SQLType.DELETE);
     }
 
     @Test
     public void testGetTableAlias() {
         String sql = "delete from t where id = ?";
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLDeleteRecognizer recognizer = (SQLDeleteRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertNull(recognizer.getTableAlias());
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+
+        PostgresqlDeleteRecognizer postgresqlDeleteRecognizer = new 
PostgresqlDeleteRecognizer(sql, asts.get(0));
+        Assertions.assertNull(postgresqlDeleteRecognizer.getTableAlias());
     }
 
     @Test
     public void testGetTableName() {
         String sql = "delete from t where id = ?";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLDeleteRecognizer recognizer = (SQLDeleteRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertEquals(recognizer.getTableName(), "t");
+
+        PostgresqlDeleteRecognizer postgresqlDeleteRecognizer = new 
PostgresqlDeleteRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlDeleteRecognizer.getTableName(), 
"t");
     }
 
     @Test
     public void testGetWhereCondition_0() {
         String sql = "delete from t";
 
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLDeleteRecognizer recognizer = (SQLDeleteRecognizer) 
sqlRecognizers.get(0);
-        String whereCondition = recognizer.getWhereCondition(new 
ParametersHolder() {
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+
+        PostgresqlDeleteRecognizer postgresqlDeleteRecognizer = new 
PostgresqlDeleteRecognizer(sql, asts.get(0));
+        String whereCondition = 
postgresqlDeleteRecognizer.getWhereCondition(new ParametersHolder() {
             @Override
             public Map<Integer,ArrayList<Object>> getParameters() {
                 return null;
@@ -82,9 +81,9 @@ public class PostgresqlDeleteRecognizerTest {
     public void testGetWhereCondition_1() {
         String sql = "delete from t";
 
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLDeleteRecognizer recognizer = (SQLDeleteRecognizer) 
sqlRecognizers.get(0);
-        String whereCondition = recognizer.getWhereCondition();
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlDeleteRecognizer postgresqlDeleteRecognizer = new 
PostgresqlDeleteRecognizer(sql, asts.get(0));
+        String whereCondition = postgresqlDeleteRecognizer.getWhereCondition();
 
         //test for no condition
         Assertions.assertEquals("", whereCondition);
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlInsertRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlInsertRecognizerTest.java
similarity index 65%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlInsertRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlInsertRecognizerTest.java
index 95f92d6fa1..7c618403e9 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlInsertRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlInsertRecognizerTest.java
@@ -14,13 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.postgresql;
+package org.apache.seata.sqlparser.druid.postgresql;
 
-import org.apache.seata.sqlparser.SQLInsertRecognizer;
 import org.apache.seata.sqlparser.SQLParsingException;
-import org.apache.seata.sqlparser.SQLRecognizer;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.postgresql.PostgresqlInsertRecognizer;
 
 import java.util.Collections;
 import java.util.List;
@@ -29,7 +26,6 @@ import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
 import com.alibaba.druid.sql.ast.expr.SQLBetweenExpr;
 import com.alibaba.druid.sql.ast.statement.SQLInsertStatement;
-import org.apache.seata.rm.datasource.sql.SQLVisitorFactory;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -42,27 +38,26 @@ public class PostgresqlInsertRecognizerTest {
     public void testGetSqlType() {
         String sql = "insert into t(id) values (?)";
 
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLInsertRecognizer recognizer = (SQLInsertRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertEquals(recognizer.getSQLType(), SQLType.INSERT);
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlInsertRecognizer postgresqlInsertRecognizer = new 
PostgresqlInsertRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlInsertRecognizer.getSQLType(), 
SQLType.INSERT);
     }
 
     @Test
     public void testGetTableAlias() {
         String sql = "insert into t(id) values (?)";
 
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLInsertRecognizer recognizer = (SQLInsertRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertNull(recognizer.getTableAlias());
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlInsertRecognizer postgresqlInsertRecognizer = new 
PostgresqlInsertRecognizer(sql, asts.get(0));
+        Assertions.assertNull(postgresqlInsertRecognizer.getTableAlias());
     }
 
     @Test
     public void testGetTableName() {
         String sql = "insert into t(id) values (?)";
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-
-        SQLInsertRecognizer recognizer = (SQLInsertRecognizer) 
sqlRecognizers.get(0);
-        Assertions.assertEquals(recognizer.getTableName(), "t");
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlInsertRecognizer postgresqlInsertRecognizer = new 
PostgresqlInsertRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlInsertRecognizer.getTableName(), 
"t");
     }
 
     @Test
@@ -71,16 +66,17 @@ public class PostgresqlInsertRecognizerTest {
         //test for no column
         String sql = "insert into t values (?)";
 
-        List<SQLRecognizer> sqlRecognizers = SQLVisitorFactory.get(sql, 
DB_TYPE);
-        SQLInsertRecognizer recognizer = (SQLInsertRecognizer) 
sqlRecognizers.get(0);
-        List<String> insertColumns = recognizer.getInsertColumns();
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlInsertRecognizer postgresqlInsertRecognizer = new 
PostgresqlInsertRecognizer(sql, asts.get(0));
+        List<String> insertColumns = 
postgresqlInsertRecognizer.getInsertColumns();
         Assertions.assertNull(insertColumns);
 
         //test for normal
         sql = "insert into t(a) values (?)";
 
-        recognizer = (SQLInsertRecognizer) SQLVisitorFactory.get(sql, 
DB_TYPE).get(0);
-        insertColumns = recognizer.getInsertColumns();
+        asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        postgresqlInsertRecognizer = new PostgresqlInsertRecognizer(sql, 
asts.get(0));
+        insertColumns = postgresqlInsertRecognizer.getInsertColumns();
         Assertions.assertEquals(1, insertColumns.size());
 
         //test for exception
@@ -90,8 +86,8 @@ public class PostgresqlInsertRecognizerTest {
             SQLInsertStatement sqlInsertStatement = (SQLInsertStatement) 
sqlStatements.get(0);
             sqlInsertStatement.getColumns().add(new SQLBetweenExpr());
 
-            PostgresqlInsertRecognizer postgresqlInsertRecognizer = new 
PostgresqlInsertRecognizer(s, sqlInsertStatement);
-            postgresqlInsertRecognizer.getInsertColumns();
+            PostgresqlInsertRecognizer postgresqlInsertRecognizer1 = new 
PostgresqlInsertRecognizer(s, sqlInsertStatement);
+            postgresqlInsertRecognizer1.getInsertColumns();
         });
     }
 
@@ -101,8 +97,9 @@ public class PostgresqlInsertRecognizerTest {
         //test for null value
         String sql = "insert into t(id, no, name, age, time) values 
(nextval('id_seq'), null, 'a', ?, now())";
 
-        SQLInsertRecognizer recognizer = (SQLInsertRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        List<List<Object>> insertRows = 
recognizer.getInsertRows(Collections.singletonList(pkIndex));
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlInsertRecognizer postgresqlInsertRecognizer1 = new 
PostgresqlInsertRecognizer(sql, asts.get(0));
+        List<List<Object>> insertRows = 
postgresqlInsertRecognizer1.getInsertRows(Collections.singletonList(pkIndex));
         Assertions.assertEquals(1, insertRows.size());
 
         //test for exception
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
similarity index 53%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
index 17e9130636..5bedfc7a84 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlSelectForUpdateRecognizerTest.java
@@ -14,14 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.postgresql;
+package org.apache.seata.sqlparser.druid.postgresql;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
-import org.apache.seata.rm.datasource.sql.SQLVisitorFactory;
+import com.alibaba.druid.sql.SQLUtils;
+import com.alibaba.druid.sql.ast.SQLStatement;
 import org.apache.seata.sqlparser.ParametersHolder;
-import org.apache.seata.sqlparser.SQLSelectRecognizer;
 import org.apache.seata.sqlparser.SQLType;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
@@ -35,16 +36,18 @@ public class PostgresqlSelectForUpdateRecognizerTest {
     public void testGetSqlType() {
         String sql = "select * from t where id = ? for update";
 
-        SQLSelectRecognizer recognizer = (SQLSelectRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertEquals(recognizer.getSQLType(), 
SQLType.SELECT_FOR_UPDATE);
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlSelectForUpdateRecognizer 
postgresqlSelectForUpdateRecognizer = new 
PostgresqlSelectForUpdateRecognizer(sql, asts.get(0));
+        
Assertions.assertEquals(postgresqlSelectForUpdateRecognizer.getSQLType(), 
SQLType.SELECT_FOR_UPDATE);
     }
 
     @Test
     public void testGetWhereCondition_0() {
         String sql = "select * from t for update";
 
-        SQLSelectRecognizer recognizer = (SQLSelectRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        String whereCondition = recognizer.getWhereCondition(new 
ParametersHolder() {
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlSelectForUpdateRecognizer 
postgresqlSelectForUpdateRecognizer = new 
PostgresqlSelectForUpdateRecognizer(sql, asts.get(0));
+        String whereCondition = 
postgresqlSelectForUpdateRecognizer.getWhereCondition(new ParametersHolder() {
             @Override
             public Map<Integer, ArrayList<Object>> getParameters() {
                 return null;
@@ -57,8 +60,9 @@ public class PostgresqlSelectForUpdateRecognizerTest {
     public void testGetWhereCondition_1() {
         String sql = "select * from t for update";
 
-        SQLSelectRecognizer recognizer = (SQLSelectRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        String whereCondition = recognizer.getWhereCondition();
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlSelectForUpdateRecognizer 
postgresqlSelectForUpdateRecognizer = new 
PostgresqlSelectForUpdateRecognizer(sql, asts.get(0));
+        String whereCondition = 
postgresqlSelectForUpdateRecognizer.getWhereCondition();
 
         Assertions.assertEquals("", whereCondition);
     }
@@ -66,14 +70,16 @@ public class PostgresqlSelectForUpdateRecognizerTest {
     @Test
     public void testGetTableAlias() {
         String sql = "select * from t where id = ? for update";
-        SQLSelectRecognizer recognizer = (SQLSelectRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertNull(recognizer.getTableAlias());
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlSelectForUpdateRecognizer 
postgresqlSelectForUpdateRecognizer = new 
PostgresqlSelectForUpdateRecognizer(sql, asts.get(0));
+        
Assertions.assertNull(postgresqlSelectForUpdateRecognizer.getTableAlias());
     }
 
     @Test
     public void testGetTableName() {
         String sql = "select * from t where id = ? for update";
-        SQLSelectRecognizer recognizer = (SQLSelectRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
-        Assertions.assertEquals(recognizer.getTableName(), "t");
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlSelectForUpdateRecognizer 
postgresqlSelectForUpdateRecognizer = new 
PostgresqlSelectForUpdateRecognizer(sql, asts.get(0));
+        
Assertions.assertEquals(postgresqlSelectForUpdateRecognizer.getTableName(), 
"t");
     }
 }
diff --git 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlUpdateRecognizerTest.java
similarity index 62%
rename from 
rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
rename to 
sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlUpdateRecognizerTest.java
index b392dbe047..b50004b89b 100644
--- 
a/rm-datasource/src/test/java/org/apache/seata/rm/datasource/sql/druid/dm/DmUpdateRecognizerTest.java
+++ 
b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/postgresql/PostgresqlUpdateRecognizerTest.java
@@ -14,51 +14,53 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.seata.rm.datasource.sql.druid.dm;
+package org.apache.seata.sqlparser.druid.postgresql;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 import com.alibaba.druid.sql.SQLUtils;
 import com.alibaba.druid.sql.ast.SQLStatement;
+import com.alibaba.druid.sql.ast.expr.SQLBetweenExpr;
 import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem;
 import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
-import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleCursorExpr;
 import org.apache.seata.sqlparser.ParametersHolder;
 import org.apache.seata.sqlparser.SQLParsingException;
 import org.apache.seata.sqlparser.SQLType;
-import org.apache.seata.sqlparser.druid.dm.DmUpdateRecognizer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
 
-public class DmUpdateRecognizerTest {
+public class PostgresqlUpdateRecognizerTest {
 
-    private static final String DB_TYPE = "dm";
+    private static final String DB_TYPE = "postgresql";
 
     @Test
     public void testGetSqlType() {
         String sql = "update t set n = ?";
-        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
 
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        Assertions.assertEquals(recognizer.getSQLType(), SQLType.UPDATE);
+        List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlUpdateRecognizer.getSQLType(), 
SQLType.UPDATE);
     }
 
     @Test
     public void testGetUpdateColumns() {
         // test with normal
         String sql = "update t set a = ?, b = ?, c = ?";
+//        SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) 
SQLVisitorFactory.get(sql, DB_TYPE).get(0);
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        List<String> updateColumns = recognizer.getUpdateColumns();
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        List<String> updateColumns = 
postgresqlUpdateRecognizer.getUpdateColumns();
         Assertions.assertEquals(updateColumns.size(), 3);
 
         // test with alias
         sql = "update t set a.a = ?, a.b = ?, a.c = ?";
+//        recognizer = (SQLUpdateRecognizer) SQLVisitorFactory.get(sql, 
DB_TYPE).get(0);
         asts = SQLUtils.parseStatements(sql, DB_TYPE);
-        recognizer = new DmUpdateRecognizer(sql, asts.get(0));
-        updateColumns = recognizer.getUpdateColumns();
+        postgresqlUpdateRecognizer = new PostgresqlUpdateRecognizer(sql, 
asts.get(0));
+        updateColumns = postgresqlUpdateRecognizer.getUpdateColumns();
         Assertions.assertEquals(updateColumns.size(), 3);
 
         //test with error
@@ -68,10 +70,10 @@ public class DmUpdateRecognizerTest {
             SQLUpdateStatement sqlUpdateStatement = (SQLUpdateStatement) 
sqlStatements.get(0);
             List<SQLUpdateSetItem> updateSetItems = 
sqlUpdateStatement.getItems();
             for (SQLUpdateSetItem updateSetItem : updateSetItems) {
-                updateSetItem.setColumn(new OracleCursorExpr());
+                updateSetItem.setColumn(new SQLBetweenExpr());
             }
-            DmUpdateRecognizer dmUpdateRecognizer = new DmUpdateRecognizer(s, 
sqlUpdateStatement);
-            dmUpdateRecognizer.getUpdateColumns();
+            PostgresqlUpdateRecognizer postgresqlUpdateRecognizer1 = new 
PostgresqlUpdateRecognizer(s, sqlUpdateStatement);
+            postgresqlUpdateRecognizer1.getUpdateColumns();
         });
     }
 
@@ -80,15 +82,15 @@ public class DmUpdateRecognizerTest {
         // test with normal
         String sql = "update t set a = ?, b = ?, c = ?";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        List<Object> updateValues = recognizer.getUpdateValues();
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        List<Object> updateValues = 
postgresqlUpdateRecognizer.getUpdateValues();
         Assertions.assertEquals(updateValues.size(), 3);
 
         // test with values
         sql = "update t set a = 1, b = 2, c = 3";
         asts = SQLUtils.parseStatements(sql, DB_TYPE);
-        recognizer = new DmUpdateRecognizer(sql, asts.get(0));
-        updateValues = recognizer.getUpdateValues();
+        postgresqlUpdateRecognizer = new PostgresqlUpdateRecognizer(sql, 
asts.get(0));
+        updateValues = postgresqlUpdateRecognizer.getUpdateValues();
         Assertions.assertEquals(updateValues.size(), 3);
 
         // test with error
@@ -98,21 +100,19 @@ public class DmUpdateRecognizerTest {
             SQLUpdateStatement sqlUpdateStatement = (SQLUpdateStatement) 
sqlStatements.get(0);
             List<SQLUpdateSetItem> updateSetItems = 
sqlUpdateStatement.getItems();
             for (SQLUpdateSetItem updateSetItem : updateSetItems) {
-                updateSetItem.setValue(new OracleCursorExpr());
+                updateSetItem.setValue(new SQLBetweenExpr());
             }
-            DmUpdateRecognizer dmUpdateRecognizer = new DmUpdateRecognizer(s, 
sqlUpdateStatement);
-            dmUpdateRecognizer.getUpdateValues();
+            PostgresqlUpdateRecognizer postgresqlUpdateRecognizer1 = new 
PostgresqlUpdateRecognizer(s, sqlUpdateStatement);
+            postgresqlUpdateRecognizer1.getUpdateValues();
         });
     }
 
     @Test
     public void testGetWhereCondition_0() {
-
         String sql = "update t set a = 1";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        String whereCondition = recognizer.getWhereCondition(new 
ParametersHolder() {
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        String whereCondition = 
postgresqlUpdateRecognizer.getWhereCondition(new ParametersHolder() {
             @Override
             public Map<Integer, ArrayList<Object>> getParameters() {
                 return null;
@@ -127,9 +127,8 @@ public class DmUpdateRecognizerTest {
 
         String sql = "update t set a = 1";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        String whereCondition = recognizer.getWhereCondition();
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        String whereCondition = postgresqlUpdateRecognizer.getWhereCondition();
 
         Assertions.assertEquals("", whereCondition);
     }
@@ -138,17 +137,16 @@ public class DmUpdateRecognizerTest {
     public void testGetTableAlias() {
         String sql = "update t set a = ?, b = ?, c = ?";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        Assertions.assertNull(recognizer.getTableAlias());
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        Assertions.assertNull(postgresqlUpdateRecognizer.getTableAlias());
     }
 
     @Test
     public void testGetTableName() {
         String sql = "update t set a = ?, b = ?, c = ?";
         List<SQLStatement> asts = SQLUtils.parseStatements(sql, DB_TYPE);
-
-        DmUpdateRecognizer recognizer = new DmUpdateRecognizer(sql, 
asts.get(0));
-        Assertions.assertEquals(recognizer.getTableName(), "t");
+        PostgresqlUpdateRecognizer postgresqlUpdateRecognizer = new 
PostgresqlUpdateRecognizer(sql, asts.get(0));
+        Assertions.assertEquals(postgresqlUpdateRecognizer.getTableName(), 
"t");
     }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org

Reply via email to