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 620e8c93ab3 Refactor MySQLShowCreateDatabaseExecutor (#36860)
620e8c93ab3 is described below

commit 620e8c93ab3664d7cd20a6466e0b3cc6fa113246
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Oct 12 22:49:14 2025 +0800

    Refactor MySQLShowCreateDatabaseExecutor (#36860)
---
 .../raw/metadata/RawQueryResultColumnMetaData.java | 11 +--------
 .../show/MySQLShowCreateDatabaseExecutor.java      | 28 +++++++++-------------
 .../executor/show/MySQLShowDatabasesExecutor.java  |  6 ++---
 .../show/MySQLShowFunctionStatusExecutor.java      |  2 +-
 .../show/MySQLShowProcedureStatusExecutor.java     |  2 +-
 5 files changed, 17 insertions(+), 32 deletions(-)

diff --git 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/raw/metadata/RawQueryResultColumnMetaData.java
 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/raw/metadata/RawQueryResultColumnMetaData.java
index a6e4834f071..c769e363d30 100644
--- 
a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/raw/metadata/RawQueryResultColumnMetaData.java
+++ 
b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/impl/raw/metadata/RawQueryResultColumnMetaData.java
@@ -48,15 +48,6 @@ public final class RawQueryResultColumnMetaData {
     private final boolean autoIncrement;
     
     public RawQueryResultColumnMetaData(final String tableName, final String 
name, final String label, final int type, final String typeName, final int 
length, final int decimals) {
-        this.tableName = tableName;
-        this.name = name;
-        this.label = label;
-        this.type = type;
-        this.typeName = typeName;
-        this.length = length;
-        this.decimals = decimals;
-        signed = false;
-        notNull = false;
-        autoIncrement = false;
+        this(tableName, name, label, type, typeName, length, decimals, false, 
false, false);
     }
 }
diff --git 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowCreateDatabaseExecutor.java
 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowCreateDatabaseExecutor.java
index f06be0250ad..10e7e3236a3 100644
--- 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowCreateDatabaseExecutor.java
+++ 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowCreateDatabaseExecutor.java
@@ -46,13 +46,7 @@ import java.util.List;
 @Getter
 public final class MySQLShowCreateDatabaseExecutor implements 
DatabaseAdminQueryExecutor {
     
-    private static final String CREATE_DATABASE_PATTERN = "CREATE DATABASE 
`%s`;";
-    
-    private static final String DATABASE = "Database";
-    
-    private static final String CREATE_DATABASE = "CREATE DATABASE ";
-    
-    private final MySQLShowCreateDatabaseStatement showCreateDatabaseStatement;
+    private final MySQLShowCreateDatabaseStatement sqlStatement;
     
     private QueryResultMetaData queryResultMetaData;
     
@@ -61,19 +55,19 @@ public final class MySQLShowCreateDatabaseExecutor 
implements DatabaseAdminQuery
     @Override
     public void execute(final ConnectionSession connectionSession, final 
ShardingSphereMetaData metaData) {
         queryResultMetaData = createQueryResultMetaData();
-        mergedResult = new 
TransparentMergedResult(getQueryResult(showCreateDatabaseStatement.getDatabaseName(),
 metaData));
-    }
-    
-    private QueryResult getQueryResult(final String databaseName, final 
ShardingSphereMetaData metaData) {
-        
ShardingSpherePreconditions.checkState(metaData.containsDatabase(databaseName),
-                () -> new UnknownDatabaseException(databaseName));
-        List<MemoryQueryResultDataRow> rows = Collections.singletonList(new 
MemoryQueryResultDataRow(Arrays.asList(databaseName, 
String.format(CREATE_DATABASE_PATTERN, databaseName))));
-        return new RawMemoryQueryResult(queryResultMetaData, rows);
+        mergedResult = new 
TransparentMergedResult(getQueryResult(sqlStatement.getDatabaseName(), 
metaData));
     }
     
     private QueryResultMetaData createQueryResultMetaData() {
-        List<RawQueryResultColumnMetaData> columnMetaData = Arrays.asList(new 
RawQueryResultColumnMetaData("", DATABASE, DATABASE, Types.VARCHAR, "VARCHAR", 
255, 0),
-                new RawQueryResultColumnMetaData("", CREATE_DATABASE, 
CREATE_DATABASE, Types.VARCHAR, "VARCHAR", 255, 0));
+        List<RawQueryResultColumnMetaData> columnMetaData = Arrays.asList(
+                new RawQueryResultColumnMetaData("", "Database", "Database", 
Types.VARCHAR, "VARCHAR", 255, 0),
+                new RawQueryResultColumnMetaData("", "Create Database", 
"Create Database", Types.VARCHAR, "VARCHAR", 255, 0));
         return new RawQueryResultMetaData(columnMetaData);
     }
+    
+    private QueryResult getQueryResult(final String databaseName, final 
ShardingSphereMetaData metaData) {
+        
ShardingSpherePreconditions.checkState(metaData.containsDatabase(databaseName), 
() -> new UnknownDatabaseException(databaseName));
+        List<MemoryQueryResultDataRow> rows = Collections.singletonList(new 
MemoryQueryResultDataRow(Arrays.asList(databaseName, String.format("CREATE 
DATABASE `%s`;", databaseName))));
+        return new RawMemoryQueryResult(queryResultMetaData, rows);
+    }
 }
diff --git 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowDatabasesExecutor.java
 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowDatabasesExecutor.java
index 33fb87c1f43..cc712512356 100644
--- 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowDatabasesExecutor.java
+++ 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowDatabasesExecutor.java
@@ -47,7 +47,7 @@ import java.util.stream.Collectors;
 @Getter
 public final class MySQLShowDatabasesExecutor implements 
DatabaseAdminQueryExecutor {
     
-    private final MySQLShowDatabasesStatement showDatabasesStatement;
+    private final MySQLShowDatabasesStatement sqlStatement;
     
     private MergedResult mergedResult;
     
@@ -64,8 +64,8 @@ public final class MySQLShowDatabasesExecutor implements 
DatabaseAdminQueryExecu
     }
     
     private boolean checkLikePattern(final String databaseName) {
-        if (showDatabasesStatement.getFilter().isPresent()) {
-            Optional<String> pattern = 
showDatabasesStatement.getFilter().get().getLike().map(optional -> 
RegexUtils.convertLikePatternToRegex(optional.getPattern()));
+        if (sqlStatement.getFilter().isPresent()) {
+            Optional<String> pattern = 
sqlStatement.getFilter().get().getLike().map(optional -> 
RegexUtils.convertLikePatternToRegex(optional.getPattern()));
             return !pattern.isPresent() || databaseName.matches(pattern.get());
         }
         return true;
diff --git 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowFunctionStatusExecutor.java
 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowFunctionStatusExecutor.java
index 4721502e824..15a1f217c21 100644
--- 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowFunctionStatusExecutor.java
+++ 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowFunctionStatusExecutor.java
@@ -43,7 +43,7 @@ import java.util.List;
 @Getter
 public final class MySQLShowFunctionStatusExecutor implements 
DatabaseAdminQueryExecutor {
     
-    private final MySQLShowFunctionStatusStatement showFunctionStatusStatement;
+    private final MySQLShowFunctionStatusStatement sqlStatement;
     
     private QueryResultMetaData queryResultMetaData;
     
diff --git 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowProcedureStatusExecutor.java
 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowProcedureStatusExecutor.java
index eb46c33b8c5..a223ed1f8e4 100644
--- 
a/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowProcedureStatusExecutor.java
+++ 
b/proxy/backend/dialect/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/show/MySQLShowProcedureStatusExecutor.java
@@ -43,7 +43,7 @@ import java.util.List;
 @Getter
 public final class MySQLShowProcedureStatusExecutor implements 
DatabaseAdminQueryExecutor {
     
-    private final MySQLShowProcedureStatusStatement 
showProcedureStatusStatement;
+    private final MySQLShowProcedureStatusStatement sqlStatement;
     
     private QueryResultMetaData queryResultMetaData;
     

Reply via email to