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 f1ec65245a3 Refactor ShowStatement (#35860)
f1ec65245a3 is described below

commit f1ec65245a3e97f094c51e3b1b121281492c7991
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jul 2 20:49:32 2025 +0800

    Refactor ShowStatement (#35860)
    
    * Refactor ShowStatement
    
    * Refactor ShowStatement
---
 .../visitor/statement/type/OracleDALStatementVisitor.java   |  2 +-
 .../statement/core/statement/type/dal/ShowStatement.java    | 13 ++-----------
 .../handler/admin/OpenGaussShowVariableExecutor.java        |  2 +-
 .../admin/executor/PostgreSQLShowVariableExecutor.java      |  2 +-
 .../asserts/statement/dal/impl/ShowStatementAssert.java     |  9 +--------
 .../parser/jaxb/statement/dal/ShowStatementTestCase.java    |  2 +-
 6 files changed, 7 insertions(+), 23 deletions(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementVisitor.java
 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementVisitor.java
index ddf6e5ab905..5375ac52c03 100644
--- 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementVisitor.java
+++ 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDALStatementVisitor.java
@@ -72,7 +72,7 @@ public final class OracleDALStatementVisitor extends 
OracleStatementVisitor impl
     
     @Override
     public ASTNode visitShow(final ShowContext ctx) {
-        return new ShowStatement(null);
+        return new ShowStatement("");
     }
     
     @Override
diff --git 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/dal/ShowStatement.java
 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/dal/ShowStatement.java
index de252cebce7..bb3ca4200be 100644
--- 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/dal/ShowStatement.java
+++ 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/dal/ShowStatement.java
@@ -17,24 +17,15 @@
 
 package org.apache.shardingsphere.sql.parser.statement.core.statement.type.dal;
 
+import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
-import java.util.Optional;
-
 /**
  * Show statement.
  */
 @RequiredArgsConstructor
+@Getter
 public final class ShowStatement extends DALStatement {
     
     private final String name;
-    
-    /**
-     * Get name.
-     *
-     * @return name
-     */
-    public Optional<String> getName() {
-        return Optional.ofNullable(name);
-    }
 }
diff --git 
a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussShowVariableExecutor.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussShowVariableExecutor.java
index 65e033aab9f..612a82b436f 100644
--- 
a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussShowVariableExecutor.java
+++ 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussShowVariableExecutor.java
@@ -65,7 +65,7 @@ public final class OpenGaussShowVariableExecutor implements 
DatabaseAdminQueryEx
     
     @Override
     public void execute(final ConnectionSession connectionSession) {
-        String name = 
showStatement.getName().orElse("").toLowerCase(Locale.ROOT);
+        String name = showStatement.getName().toLowerCase(Locale.ROOT);
         if (VARIABLE_ROW_DATA_GENERATORS.containsKey(name)) {
             queryResultMetaData = new 
RawQueryResultMetaData(Collections.singletonList(new 
RawQueryResultColumnMetaData("", "", name, Types.VARCHAR, "VARCHAR", -1, 0)));
             OpenGaussShowVariableExecutor.VariableRowDataGenerator 
variableRowDataGenerator = VARIABLE_ROW_DATA_GENERATORS.getOrDefault(name, 
unused -> new String[]{"", "", ""});
diff --git 
a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/executor/PostgreSQLShowVariableExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/executor/PostgreSQLShowVariableExecutor.java
index ec3aeac371f..ff9656eb233 100644
--- 
a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/executor/PostgreSQLShowVariableExecutor.java
+++ 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/handler/admin/executor/PostgreSQLShowVariableExecutor.java
@@ -71,7 +71,7 @@ public final class PostgreSQLShowVariableExecutor implements 
DatabaseAdminQueryE
     
     @Override
     public void execute(final ConnectionSession connectionSession) {
-        String name = 
showStatement.getName().orElse("").toLowerCase(Locale.ROOT);
+        String name = showStatement.getName().toLowerCase(Locale.ROOT);
         if ("ALL".equalsIgnoreCase(name)) {
             executeShowAll(connectionSession);
             return;
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ShowStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ShowStatementAssert.java
index 52125e703e6..81328680b86 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ShowStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/impl/ShowStatementAssert.java
@@ -25,8 +25,6 @@ import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Show statement assert.
@@ -42,11 +40,6 @@ public final class ShowStatementAssert {
      * @param expected expected show statement test case
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, 
final ShowStatement actual, final ShowStatementTestCase expected) {
-        if (null == expected.getName()) {
-            assertFalse(actual.getName().isPresent(), 
assertContext.getText("Name should not exist."));
-        } else {
-            assertTrue(actual.getName().isPresent(), 
assertContext.getText("Name should exist."));
-            assertThat(assertContext.getText("Name assertion error: "), 
actual.getName().get(), is(expected.getName()));
-        }
+        assertThat(assertContext.getText("Name assertion error: "), 
actual.getName(), is(expected.getName()));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/ShowStatementTestCase.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/ShowStatementTestCase.java
index e89bce8cfe9..31f98fb214e 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/ShowStatementTestCase.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/ShowStatementTestCase.java
@@ -31,5 +31,5 @@ import javax.xml.bind.annotation.XmlAttribute;
 public final class ShowStatementTestCase extends SQLParserTestCase {
     
     @XmlAttribute
-    private String name;
+    private String name = "";
 }

Reply via email to