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 = "";
}