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 336b491f980 Remove MetaDataRefreshEngine.DDL_STATEMENT_CLASSES (#34451)
336b491f980 is described below

commit 336b491f98032ed55468f88fc9e32871b7a074c2
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jan 23 22:12:23 2025 +0800

    Remove MetaDataRefreshEngine.DDL_STATEMENT_CLASSES (#34451)
    
    * Remove MetaDataRefreshEngine.DDL_STATEMENT_CLASSES
    
    * Remove MetaDataRefreshEngine.DDL_STATEMENT_CLASSES
---
 .../DriverJDBCPushDownExecuteUpdateExecutor.java   |  2 +-
 .../refresher/metadata/MetaDataRefreshEngine.java  | 26 ++--------------------
 2 files changed, 3 insertions(+), 25 deletions(-)

diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
index db4d9671ed3..7a0eeb82eb3 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
@@ -109,7 +109,7 @@ public final class DriverJDBCPushDownExecuteUpdateExecutor {
                     .newInstance(database, 
executionContext.getSqlStatementContext().getSqlStatement(), updateCallback);
             List<Integer> updateCounts = 
jdbcExecutor.execute(executionGroupContext, callback);
             MetaDataRefreshEngine metaDataRefreshEngine = new 
MetaDataRefreshEngine(connection.getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService(),
 database, props);
-            if 
(metaDataRefreshEngine.isNeedRefreshMetaData(executionContext.getSqlStatementContext()))
 {
+            if 
(metaDataRefreshEngine.isNeedRefresh(executionContext.getSqlStatementContext()))
 {
                 if 
(isNeedImplicitCommit(executionContext.getSqlStatementContext())) {
                     connection.commit();
                 }
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 30bde2fee73..c0f0eeb2064 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
@@ -29,23 +29,8 @@ import 
org.apache.shardingsphere.infra.route.context.RouteUnit;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.mode.metadata.refresher.metadata.federation.FederationMetaDataRefresher;
 import 
org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterSchemaStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterTableStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterViewStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateSchemaStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateTableStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateViewStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DDLStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropSchemaStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropTableStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.RenameTableStatement;
 
 import java.sql.SQLException;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Objects;
 import java.util.Optional;
@@ -57,10 +42,6 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public final class MetaDataRefreshEngine {
     
-    private static final Collection<Class<? extends DDLStatement>> 
DDL_STATEMENT_CLASSES = Arrays.asList(CreateTableStatement.class, 
AlterTableStatement.class, DropTableStatement.class,
-            CreateViewStatement.class, AlterViewStatement.class, 
DropViewStatement.class, CreateIndexStatement.class, AlterIndexStatement.class, 
DropIndexStatement.class, CreateSchemaStatement.class,
-            AlterSchemaStatement.class, DropSchemaStatement.class, 
RenameTableStatement.class);
-    
     private final MetaDataManagerPersistService metaDataManagerPersistService;
     
     private final ShardingSphereDatabase database;
@@ -73,9 +54,9 @@ public final class MetaDataRefreshEngine {
      * @param sqlStatementContext SQL statement context
      * @return is need refresh meta data or not
      */
-    public boolean isNeedRefreshMetaData(final SQLStatementContext 
sqlStatementContext) {
+    public boolean isNeedRefresh(final SQLStatementContext 
sqlStatementContext) {
         Class<?> sqlStatementClass = 
sqlStatementContext.getSqlStatement().getClass().getSuperclass();
-        return DDL_STATEMENT_CLASSES.contains(sqlStatementClass);
+        return TypedSPILoader.findService(MetaDataRefresher.class, 
sqlStatementClass).isPresent();
     }
     
     /**
@@ -87,9 +68,6 @@ public final class MetaDataRefreshEngine {
      */
     @SuppressWarnings({"unchecked", "rawtypes"})
     public void refresh(final SQLStatementContext sqlStatementContext, final 
Collection<RouteUnit> routeUnits) throws SQLException {
-        if (!isNeedRefreshMetaData(sqlStatementContext)) {
-            return;
-        }
         Class<?> sqlStatementClass = 
sqlStatementContext.getSqlStatement().getClass().getSuperclass();
         Optional<MetaDataRefresher> metaDataRefresher = 
TypedSPILoader.findService(MetaDataRefresher.class, sqlStatementClass);
         if (!metaDataRefresher.isPresent()) {

Reply via email to