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 8b539e41b50 Refactor DAL StatementContexts (#35720)
8b539e41b50 is described below

commit 8b539e41b50148f30f5eb9f02862123fd0023976
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Jun 15 22:09:41 2025 +0800

    Refactor DAL StatementContexts (#35720)
---
 .../type/dal/ShowColumnsStatementContext.java      | 16 +++++++--------
 .../type/dal/ShowIndexStatementContext.java        | 16 +++++++--------
 .../type/dal/ShowTableStatusStatementContext.java  | 24 +++++++++++-----------
 .../type/dal/ShowTablesStatementContext.java       | 22 +++++++++-----------
 4 files changed, 38 insertions(+), 40 deletions(-)

diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContext.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContext.java
index 44a40027a27..54ddd287558 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContext.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowColumnsStatementContext.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.binder.context.statement.type.dal;
 
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import 
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
@@ -32,20 +32,20 @@ import java.util.LinkedList;
  * Show columns statement context.
  */
 @Getter
-public final class ShowColumnsStatementContext extends 
CommonSQLStatementContext implements RemoveAvailable {
+public final class ShowColumnsStatementContext implements SQLStatementContext, 
RemoveAvailable {
+    
+    private final DatabaseType databaseType;
+    
+    private final ShowColumnsStatement sqlStatement;
     
     private final TablesContext tablesContext;
     
     public ShowColumnsStatementContext(final DatabaseType databaseType, final 
ShowColumnsStatement sqlStatement) {
-        super(databaseType, sqlStatement);
+        this.databaseType = databaseType;
+        this.sqlStatement = sqlStatement;
         tablesContext = new TablesContext(sqlStatement.getTable());
     }
     
-    @Override
-    public ShowColumnsStatement getSqlStatement() {
-        return (ShowColumnsStatement) super.getSqlStatement();
-    }
-    
     @Override
     public Collection<SQLSegment> getRemoveSegments() {
         Collection<SQLSegment> result = new LinkedList<>();
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowIndexStatementContext.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowIndexStatementContext.java
index 159718dfce9..7ed3fd2f0ef 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowIndexStatementContext.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowIndexStatementContext.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.binder.context.statement.type.dal;
 
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import 
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
@@ -32,20 +32,20 @@ import java.util.LinkedList;
  * Show index statement context.
  */
 @Getter
-public final class ShowIndexStatementContext extends CommonSQLStatementContext 
implements RemoveAvailable {
+public final class ShowIndexStatementContext implements SQLStatementContext, 
RemoveAvailable {
+    
+    private final DatabaseType databaseType;
+    
+    private final ShowIndexStatement sqlStatement;
     
     private final TablesContext tablesContext;
     
     public ShowIndexStatementContext(final DatabaseType databaseType, final 
ShowIndexStatement sqlStatement) {
-        super(databaseType, sqlStatement);
+        this.databaseType = databaseType;
+        this.sqlStatement = sqlStatement;
         tablesContext = new TablesContext(sqlStatement.getTable());
     }
     
-    @Override
-    public ShowIndexStatement getSqlStatement() {
-        return (ShowIndexStatement) super.getSqlStatement();
-    }
-    
     @Override
     public Collection<SQLSegment> getRemoveSegments() {
         Collection<SQLSegment> result = new LinkedList<>();
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTableStatusStatementContext.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTableStatusStatementContext.java
index 25fa525b4b1..2c02b9e808f 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTableStatusStatementContext.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTableStatusStatementContext.java
@@ -17,8 +17,9 @@
 
 package org.apache.shardingsphere.infra.binder.context.statement.type.dal;
 
+import lombok.Getter;
 import 
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import 
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
@@ -31,20 +32,19 @@ import java.util.LinkedList;
 /**
  * Show table status statement context.
  */
-public final class ShowTableStatusStatementContext extends 
CommonSQLStatementContext implements RemoveAvailable {
+@Getter
+public final class ShowTableStatusStatementContext implements 
SQLStatementContext, RemoveAvailable {
     
-    public ShowTableStatusStatementContext(final DatabaseType databaseType, 
final ShowTableStatusStatement sqlStatement) {
-        super(databaseType, sqlStatement);
-    }
+    private final DatabaseType databaseType;
     
-    @Override
-    public ShowTableStatusStatement getSqlStatement() {
-        return (ShowTableStatusStatement) super.getSqlStatement();
-    }
+    private final ShowTableStatusStatement sqlStatement;
     
-    @Override
-    public TablesContext getTablesContext() {
-        return new TablesContext(Collections.emptyList());
+    private final TablesContext tablesContext;
+    
+    public ShowTableStatusStatementContext(final DatabaseType databaseType, 
final ShowTableStatusStatement sqlStatement) {
+        this.databaseType = databaseType;
+        this.sqlStatement = sqlStatement;
+        tablesContext = new TablesContext(Collections.emptyList());
     }
     
     @Override
diff --git 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTablesStatementContext.java
 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTablesStatementContext.java
index 72dcc39cbc0..930b4d43fa0 100644
--- 
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTablesStatementContext.java
+++ 
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/type/dal/ShowTablesStatementContext.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.binder.context.statement.type.dal;
 
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import 
org.apache.shardingsphere.infra.binder.context.statement.CommonSQLStatementContext;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.SQLSegment;
@@ -33,20 +33,18 @@ import java.util.LinkedList;
  * Show tables statement context.
  */
 @Getter
-public final class ShowTablesStatementContext extends 
CommonSQLStatementContext implements RemoveAvailable {
+public final class ShowTablesStatementContext implements SQLStatementContext, 
RemoveAvailable {
     
-    public ShowTablesStatementContext(final DatabaseType databaseType, final 
ShowTablesStatement sqlStatement) {
-        super(databaseType, sqlStatement);
-    }
+    private final DatabaseType databaseType;
     
-    @Override
-    public ShowTablesStatement getSqlStatement() {
-        return (ShowTablesStatement) super.getSqlStatement();
-    }
+    private final ShowTablesStatement sqlStatement;
     
-    @Override
-    public TablesContext getTablesContext() {
-        return new TablesContext(Collections.emptyList());
+    private final TablesContext tablesContext;
+    
+    public ShowTablesStatementContext(final DatabaseType databaseType, final 
ShowTablesStatement sqlStatement) {
+        this.databaseType = databaseType;
+        this.sqlStatement = sqlStatement;
+        tablesContext = new TablesContext(Collections.emptyList());
     }
     
     @Override

Reply via email to