You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/05/23 14:58:01 UTC

(shardingsphere) branch master updated: Remove unused parserDatabaseType parameter (#35496)

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 68ceb90648f Remove unused parserDatabaseType parameter (#35496)
68ceb90648f is described below

commit 68ceb90648f45d8afc1bcec9034c4905c389dcf3
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri May 23 22:57:54 2025 +0800

    Remove unused parserDatabaseType parameter (#35496)
    
    - Remove parserDatabaseType parameter from PipelineDDLDecorator methods
    - Update method signatures and internal logic to use databaseType instead
    - Simplify code by reducing the number of parameters passed around
---
 .../metadata/generator/PipelineDDLDecorator.java   | 23 +++++++++++-----------
 .../datasource/PipelineJobDataSourcePreparer.java  |  6 +++---
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLDecorator.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLDecorator.java
index 126a5532aec..e73e9f15613 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLDecorator.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/generator/PipelineDDLDecorator.java
@@ -64,25 +64,24 @@ public final class PipelineDDLDecorator {
      * @param schemaName schema name
      * @param targetTableName target table name
      * @param parserEngine parser engine
-     * @param parserDatabaseType parser database type
      * @param sql SQL
      * @return decorated SQL
      */
     public Optional<String> decorate(final DatabaseType databaseType, final String targetDatabaseName, final String schemaName, final String targetTableName,
-                                     final SQLParserEngine parserEngine, final DatabaseType parserDatabaseType, final String sql) {
+                                     final SQLParserEngine parserEngine, final String sql) {
         if (Strings.isNullOrEmpty(sql)) {
             return Optional.empty();
         }
-        String result = decorateActualSQL(targetDatabaseName, targetTableName, parserEngine, parserDatabaseType, sql.trim());
+        String result = decorateActualSQL(targetDatabaseName, targetTableName, parserEngine, databaseType, sql.trim());
         // TODO remove it after set search_path is supported.
         if ("openGauss".equals(databaseType.getType())) {
-            return decorateOpenGauss(targetDatabaseName, schemaName, result, parserEngine, parserDatabaseType);
+            return decorateOpenGauss(targetDatabaseName, schemaName, result, parserEngine, databaseType);
         }
         return Optional.of(result);
     }
     
-    private String decorateActualSQL(final String databaseName, final String targetTableName, final SQLParserEngine parserEngine, final DatabaseType parserDatabaseType, final String sql) {
-        SQLStatementContext sqlStatementContext = parseSQL(databaseName, parserEngine, parserDatabaseType, sql);
+    private String decorateActualSQL(final String databaseName, final String targetTableName, final SQLParserEngine parserEngine, final DatabaseType databaseType, final String sql) {
+        SQLStatementContext sqlStatementContext = parseSQL(databaseName, parserEngine, databaseType, sql);
         Map<SQLSegment, String> replaceMap = new TreeMap<>(Comparator.comparing(SQLSegment::getStartIndex));
         if (sqlStatementContext instanceof CreateTableStatementContext) {
             appendFromIndexAndConstraint(replaceMap, targetTableName, sqlStatementContext);
@@ -102,8 +101,8 @@ public final class PipelineDDLDecorator {
         return doDecorateActualTable(replaceMap, sql);
     }
     
-    private SQLStatementContext parseSQL(final String currentDatabaseName, final SQLParserEngine parserEngine, final DatabaseType parserDatabaseType, final String sql) {
-        return new SQLBindEngine(metaData, currentDatabaseName, new HintValueContext()).bind(parserDatabaseType, parserEngine.parse(sql, true), Collections.emptyList());
+    private SQLStatementContext parseSQL(final String currentDatabaseName, final SQLParserEngine parserEngine, final DatabaseType databaseType, final String sql) {
+        return new SQLBindEngine(metaData, currentDatabaseName, new HintValueContext()).bind(databaseType, parserEngine.parse(sql, true), Collections.emptyList());
     }
     
     private void appendFromIndexAndConstraint(final Map<SQLSegment, String> replaceMap, final String targetTableName, final SQLStatementContext sqlStatementContext) {
@@ -151,15 +150,15 @@ public final class PipelineDDLDecorator {
     
     // TODO remove it after set search_path is supported.
     private Optional<String> decorateOpenGauss(final String databaseName, final String schemaName, final String queryContext,
-                                               final SQLParserEngine parserEngine, final DatabaseType parserDatabaseType) {
+                                               final SQLParserEngine parserEngine, final DatabaseType databaseType) {
         if (queryContext.toLowerCase().startsWith(SET_SEARCH_PATH_PREFIX)) {
             return Optional.empty();
         }
-        return Optional.of(replaceTableNameWithPrefix(queryContext, schemaName, databaseName, parserEngine, parserDatabaseType));
+        return Optional.of(replaceTableNameWithPrefix(queryContext, schemaName, databaseName, parserEngine, databaseType));
     }
     
-    private String replaceTableNameWithPrefix(final String sql, final String schemaName, final String databaseName, final SQLParserEngine parserEngine, final DatabaseType parserDatabaseType) {
-        SQLStatementContext sqlStatementContext = parseSQL(databaseName, parserEngine, parserDatabaseType, sql);
+    private String replaceTableNameWithPrefix(final String sql, final String schemaName, final String databaseName, final SQLParserEngine parserEngine, final DatabaseType databaseType) {
+        SQLStatementContext sqlStatementContext = parseSQL(databaseName, parserEngine, databaseType, sql);
         if (sqlStatementContext instanceof CreateTableStatementContext || sqlStatementContext instanceof CommentStatementContext
                 || sqlStatementContext instanceof CreateIndexStatementContext || sqlStatementContext instanceof AlterTableStatementContext) {
             if (((TableAvailable) sqlStatementContext).getTablesContext().getSimpleTables().isEmpty()) {
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
index 32043c77802..b805de5f628 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
@@ -119,7 +119,7 @@ public final class PipelineJobDataSourcePreparer {
                 List<String> createTargetTableSQL = getCreateTargetTableSQL(each, dataSourceManager);
                 for (String sql : createTargetTableSQL) {
                     ShardingSphereMetaData metaData = ((ShardingSphereConnection) targetConnection).getContextManager().getMetaDataContexts().getMetaData();
-                    Optional<String> decoratedSQL = decorateTargetTableSQL(each, param.getSqlParserEngine(), databaseType, metaData, param.getTargetDatabaseName(), sql);
+                    Optional<String> decoratedSQL = decorateTargetTableSQL(each, param.getSqlParserEngine(), metaData, param.getTargetDatabaseName(), sql);
                     if (decoratedSQL.isPresent()) {
                         executeTargetTableSQL(targetConnection, addIfNotExistsForCreateTableSQL(decoratedSQL.get()));
                     }
@@ -139,10 +139,10 @@ public final class PipelineJobDataSourcePreparer {
     }
     
     private Optional<String> decorateTargetTableSQL(final CreateTableConfiguration createTableConfig, final SQLParserEngine sqlParserEngine,
-                                                    final DatabaseType parserDatabaseType, final ShardingSphereMetaData metaData, final String targetDatabaseName, final String sql) {
+                                                    final ShardingSphereMetaData metaData, final String targetDatabaseName, final String sql) {
         String schemaName = createTableConfig.getSourceName().getSchemaName();
         String targetTableName = createTableConfig.getTargetName().getTableName();
-        Optional<String> decoratedSQL = new PipelineDDLDecorator(metaData).decorate(databaseType, targetDatabaseName, schemaName, targetTableName, sqlParserEngine, parserDatabaseType, sql);
+        Optional<String> decoratedSQL = new PipelineDDLDecorator(metaData).decorate(databaseType, targetDatabaseName, schemaName, targetTableName, sqlParserEngine, sql);
         return decoratedSQL.map(String::trim).filter(trimmedSql -> !Strings.isNullOrEmpty(trimmedSql));
     }