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 1b370a1c8ca Refactor SQLStatementContextFactory (#35739)
1b370a1c8ca is described below

commit 1b370a1c8cacf9a42428c60976e0563c53204f68
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jun 17 23:30:30 2025 +0800

    Refactor SQLStatementContextFactory (#35739)
---
 .../statement/SQLStatementContextFactory.java      | 69 +---------------------
 1 file changed, 1 insertion(+), 68 deletions(-)

diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/SQLStatementContextFactory.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/SQLStatementContextFactory.java
index 17ccfbaef81..8958f0854c2 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/SQLStatementContextFactory.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/SQLStatementContextFactory.java
@@ -39,47 +39,28 @@ import 
org.apache.shardingsphere.infra.binder.context.statement.type.dml.SelectS
 import 
org.apache.shardingsphere.infra.binder.context.statement.type.dml.UpdateStatementContext;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.exception.generic.UnsupportedSQLOperationException;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.available.TableAvailable;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.AnalyzeTableStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.DALStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ExplainStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowColumnsStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowIndexStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowTableStatusStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowTablesStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.DCLStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.GrantStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dcl.RevokeStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterIndexStatement;
 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.CloseStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CommentStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateFunctionStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateIndexStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.CreateProcedureStatement;
-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.CursorStatement;
 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.DropTableStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropViewStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.FetchStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.MoveStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.PrepareStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.RenameTableStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.TruncateStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.CallStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DMLStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DoStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.MergeStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
 
@@ -140,29 +121,17 @@ public final class SQLStatementContextFactory {
         if (sqlStatement instanceof InsertStatement) {
             return new InsertStatementContext(databaseType, (InsertStatement) 
sqlStatement, params, metaData, currentDatabaseName);
         }
-        if (sqlStatement instanceof CallStatement || sqlStatement instanceof 
DoStatement || sqlStatement instanceof MergeStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        throw new UnsupportedSQLOperationException(String.format("Unsupported 
SQL statement `%s`", sqlStatement.getClass().getSimpleName()));
+        return new CommonSQLStatementContext(databaseType, sqlStatement);
     }
     
     private static SQLStatementContext getDDLStatementContext(final 
ShardingSphereMetaData metaData, final DatabaseType databaseType,
                                                               final 
DDLStatement sqlStatement, final List<Object> params, final String 
currentDatabaseName) {
-        if (sqlStatement instanceof CreateSchemaStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         if (sqlStatement instanceof CreateTableStatement) {
             return new CreateTableStatementContext(databaseType, 
(CreateTableStatement) sqlStatement);
         }
         if (sqlStatement instanceof AlterTableStatement) {
             return new AlterTableStatementContext(databaseType, 
(AlterTableStatement) sqlStatement);
         }
-        if (sqlStatement instanceof RenameTableStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof DropTableStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         if (sqlStatement instanceof CreateIndexStatement) {
             return new CreateIndexStatementContext(databaseType, 
(CreateIndexStatement) sqlStatement);
         }
@@ -172,12 +141,6 @@ public final class SQLStatementContextFactory {
         if (sqlStatement instanceof DropIndexStatement) {
             return new DropIndexStatementContext(databaseType, 
(DropIndexStatement) sqlStatement);
         }
-        if (sqlStatement instanceof TruncateStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof CreateFunctionStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         if (sqlStatement instanceof CreateProcedureStatement) {
             return new CreateProcedureStatementContext(databaseType, 
(CreateProcedureStatement) sqlStatement);
         }
@@ -187,15 +150,6 @@ public final class SQLStatementContextFactory {
         if (sqlStatement instanceof AlterViewStatement) {
             return new AlterViewStatementContext(metaData, databaseType, 
params, (AlterViewStatement) sqlStatement, currentDatabaseName);
         }
-        if (sqlStatement instanceof DropViewStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof PrepareStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof CommentStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         if (sqlStatement instanceof CursorStatement) {
             return new CursorStatementContext(metaData, databaseType, params, 
(CursorStatement) sqlStatement, currentDatabaseName);
         }
@@ -212,12 +166,6 @@ public final class SQLStatementContextFactory {
     }
     
     private static SQLStatementContext getDCLStatementContext(final 
DatabaseType databaseType, final DCLStatement sqlStatement) {
-        if (sqlStatement instanceof GrantStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof RevokeStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         return new CommonSQLStatementContext(databaseType, sqlStatement);
     }
     
@@ -226,21 +174,6 @@ public final class SQLStatementContextFactory {
         if (sqlStatement instanceof ExplainStatement) {
             return new ExplainStatementContext(metaData, databaseType, 
(ExplainStatement) sqlStatement, params, currentDatabaseName);
         }
-        if (sqlStatement instanceof ShowColumnsStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof ShowTablesStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof ShowTableStatusStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof ShowIndexStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
-        if (sqlStatement instanceof AnalyzeTableStatement) {
-            return new CommonSQLStatementContext(databaseType, sqlStatement);
-        }
         return new CommonSQLStatementContext(databaseType, sqlStatement);
     }
 }

Reply via email to