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 6923bf2d397 Refactor FederationMetaDataRefresher (#34448)
6923bf2d397 is described below

commit 6923bf2d3979fb64140088675a878513888f9f0b
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 23 21:35:50 2025 +0800

    Refactor FederationMetaDataRefresher (#34448)
---
 .../refresher/federation/FederationMetaDataRefresher.java    |  4 +---
 .../type/AlterViewFederationMetaDataRefresher.java           |  6 ++----
 .../type/CreateViewFederationMetaDataRefresher.java          |  6 ++----
 .../federation/type/DropViewFederationMetaDataRefresher.java | 12 +++++-------
 .../metadata/refresher/metadata/MetaDataRefreshEngine.java   |  4 ++--
 5 files changed, 12 insertions(+), 20 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefresher.java
index 4c49c90eef5..fc3a558fa94 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/FederationMetaDataRefresher.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.mode.metadata.refresher.federation;
 
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
@@ -38,10 +37,9 @@ public interface FederationMetaDataRefresher<T extends 
SQLStatement> extends Typ
      * @param metaDataManagerPersistService meta data manager persist service
      * @param database database
      * @param schemaName schema name
-     * @param databaseType database type
      * @param sqlStatement SQL statement
      */
-    void refresh(MetaDataManagerPersistService metaDataManagerPersistService, 
ShardingSphereDatabase database, String schemaName, DatabaseType databaseType, 
T sqlStatement);
+    void refresh(MetaDataManagerPersistService metaDataManagerPersistService, 
ShardingSphereDatabase database, String schemaName, T sqlStatement);
     
     @Override
     Class<T> getType();
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/AlterViewFederationMetaDataRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/AlterViewFederationMetaDataRefresher.java
index 4148bc161c8..2617b54ba5b 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/AlterViewFederationMetaDataRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/AlterViewFederationMetaDataRefresher.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.mode.metadata.refresher.federation.type;
 
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
@@ -35,9 +34,8 @@ import java.util.Optional;
 public final class AlterViewFederationMetaDataRefresher implements 
FederationMetaDataRefresher<AlterViewStatement> {
     
     @Override
-    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
String schemaName,
-                        final DatabaseType databaseType, final 
AlterViewStatement sqlStatement) {
-        String viewName = TableRefreshUtils.getTableName(databaseType, 
sqlStatement.getView().getTableName().getIdentifier());
+    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
String schemaName, final AlterViewStatement sqlStatement) {
+        String viewName = 
TableRefreshUtils.getTableName(sqlStatement.getDatabaseType(), 
sqlStatement.getView().getTableName().getIdentifier());
         AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new 
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
         Optional<SimpleTableSegment> renameView = sqlStatement.getRenameView();
         if (renameView.isPresent()) {
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/CreateViewFederationMetaDataRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/CreateViewFederationMetaDataRefresher.java
index d91bd67a6dc..909997b609e 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/CreateViewFederationMetaDataRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/CreateViewFederationMetaDataRefresher.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.mode.metadata.refresher.federation.type;
 
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
@@ -32,9 +31,8 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateV
 public final class CreateViewFederationMetaDataRefresher implements 
FederationMetaDataRefresher<CreateViewStatement> {
     
     @Override
-    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
String schemaName,
-                        final DatabaseType databaseType, final 
CreateViewStatement sqlStatement) {
-        String viewName = TableRefreshUtils.getTableName(databaseType, 
sqlStatement.getView().getTableName().getIdentifier());
+    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
String schemaName, final CreateViewStatement sqlStatement) {
+        String viewName = 
TableRefreshUtils.getTableName(sqlStatement.getDatabaseType(), 
sqlStatement.getView().getTableName().getIdentifier());
         AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new 
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
         alterSchemaMetaDataPOJO.getAlteredViews().add(new 
ShardingSphereView(viewName, sqlStatement.getViewDefinition()));
         
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresher.java
index f1e34b0c1aa..0865124f23e 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/federation/type/DropViewFederationMetaDataRefresher.java
@@ -17,11 +17,11 @@
 
 package org.apache.shardingsphere.mode.metadata.refresher.federation.type;
 
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.pojo.AlterSchemaMetaDataPOJO;
 import 
org.apache.shardingsphere.mode.metadata.refresher.federation.FederationMetaDataRefresher;
 import 
org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService;
+import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement;
 
 /**
@@ -30,13 +30,11 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropVie
 public final class DropViewFederationMetaDataRefresher implements 
FederationMetaDataRefresher<DropViewStatement> {
     
     @Override
-    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database,
-                        final String schemaName, final DatabaseType 
databaseType, final DropViewStatement sqlStatement) {
+    public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
String schemaName, final DropViewStatement sqlStatement) {
         AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new 
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
-        sqlStatement.getViews().forEach(each -> {
-            String viewName = each.getTableName().getIdentifier().getValue();
-            alterSchemaMetaDataPOJO.getDroppedViews().add(viewName);
-        });
+        for (SimpleTableSegment each : sqlStatement.getViews()) {
+            
alterSchemaMetaDataPOJO.getDroppedViews().add(each.getTableName().getIdentifier().getValue());
+        }
         
metaDataManagerPersistService.alterSchemaMetaData(alterSchemaMetaDataPOJO);
     }
     
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/MetaDataRefreshEngine.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/MetaDataRefreshEngine.java
index ad519d82b9c..6992bee591b 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/MetaDataRefreshEngine.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/metadata/MetaDataRefreshEngine.java
@@ -97,8 +97,8 @@ public final class MetaDataRefreshEngine {
      */
     @SuppressWarnings("unchecked")
     public void refresh(final SQLStatementContext sqlStatementContext) {
-        getFederationMetaDataRefresher(sqlStatementContext).ifPresent(optional 
-> optional.refresh(
-                metaDataManagerPersistService, database, 
getSchemaName(sqlStatementContext), sqlStatementContext.getDatabaseType(), 
sqlStatementContext.getSqlStatement()));
+        getFederationMetaDataRefresher(sqlStatementContext).ifPresent(
+                optional -> optional.refresh(metaDataManagerPersistService, 
database, getSchemaName(sqlStatementContext), 
sqlStatementContext.getSqlStatement()));
     }
     
     private String getSchemaName(final SQLStatementContext 
sqlStatementContext) {

Reply via email to