This is an automated email from the ASF dual-hosted git repository. jiangmaolin 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 eb439793860 Rename ShowSingleTablesExecutor, ShowLogicalTablesExecutor, ShowUnloadedSingleTablesExecutor (#32719) eb439793860 is described below commit eb439793860f1efcb08d38640b37126b98099418 Author: Raigor <raigor.ji...@gmail.com> AuthorDate: Thu Aug 29 15:22:07 2024 +0800 Rename ShowSingleTablesExecutor, ShowLogicalTablesExecutor, ShowUnloadedSingleTablesExecutor (#32719) * Rename ShowSingleTablesExecutor, ShowLogicalTablesExecutor, ShowUnloadedSingleTablesExecutor * Fix E2E --- ...xecutor.java => ShowLogicalTablesExecutor.java} | 4 +- ...stsql.handler.engine.query.DistSQLQueryExecutor | 2 +- ...est.java => ShowLogicalTablesExecutorTest.java} | 4 +- ...Executor.java => ShowSingleTablesExecutor.java} | 23 ++++----- ....java => ShowUnloadedSingleTablesExecutor.java} | 14 ++--- ...stsql.handler.engine.query.DistSQLQueryExecutor | 4 +- ...Test.java => ShowSingleTablesExecutorTest.java} | 10 ++-- .../src/main/antlr4/imports/single/RQLStatement.g4 | 4 +- .../parser/autogen/SingleDistSQLStatement.g4 | 2 +- .../parser/core/SingleDistSQLStatementVisitor.java | 19 +++---- ...atement.java => ShowSingleTablesStatement.java} | 22 ++------ ...java => ShowUnloadedSingleTablesStatement.java} | 8 +-- .../rql/resource/ShowLogicalTablesStatement.java | 2 +- .../rql/resource/ShowTablesStatement.java | 20 ++++---- .../src/test/resources/cases/rql/e2e-rql-show.xml | 2 +- .../rql/impl/ShowTablesStatementAssert.java | 5 -- .../table/ShowSingleTablesStatementAssert.java | 59 ---------------------- .../cases/parser/jaxb/RootSQLParserTestCases.java | 9 ++-- .../table/ShowLogicalTableStatementTestCase.java | 24 --------- .../table/ShowSingleTableStatementTestCase.java | 34 ------------- .../rql/table/ShowTableStatementTestCase.java | 2 +- .../it/parser/src/main/resources/case/rql/show.xml | 14 ++--- .../src/main/resources/sql/supported/rql/show.xml | 3 +- 23 files changed, 74 insertions(+), 216 deletions(-) diff --git a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutor.java b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java similarity index 96% rename from infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutor.java rename to infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java index 4cac299f3f4..cf7d81b121b 100644 --- a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutor.java +++ b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java @@ -38,10 +38,10 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; /** - * Show logical table executor. + * Show logical tables executor. */ @Setter -public final class ShowLogicalTableExecutor implements DistSQLQueryExecutor<ShowLogicalTablesStatement>, DistSQLExecutorDatabaseAware { +public final class ShowLogicalTablesExecutor implements DistSQLQueryExecutor<ShowLogicalTablesStatement>, DistSQLExecutorDatabaseAware { private ShardingSphereDatabase database; diff --git a/infra/distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor b/infra/distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor index 455641ebc51..a7d745cb3f0 100644 --- a/infra/distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor +++ b/infra/distsql-handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor @@ -17,6 +17,6 @@ org.apache.shardingsphere.distsql.handler.executor.rql.resource.ShowStorageUnitExecutor org.apache.shardingsphere.distsql.handler.executor.rql.resource.ShowRulesUsedStorageUnitExecutor -org.apache.shardingsphere.distsql.handler.executor.rql.resource.ShowLogicalTableExecutor +org.apache.shardingsphere.distsql.handler.executor.rql.resource.ShowLogicalTablesExecutor org.apache.shardingsphere.distsql.handler.executor.rql.rule.RuleCountExecutor org.apache.shardingsphere.distsql.handler.executor.ral.plugin.ShowPluginsExecutor diff --git a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutorTest.java b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutorTest.java similarity index 97% rename from infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutorTest.java rename to infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutorTest.java index 808491761aa..fa95d1ec71a 100644 --- a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTableExecutorTest.java +++ b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutorTest.java @@ -46,9 +46,9 @@ import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) -class ShowLogicalTableExecutorTest { +class ShowLogicalTablesExecutorTest { - private final ShowLogicalTableExecutor executor = new ShowLogicalTableExecutor(); + private final ShowLogicalTablesExecutor executor = new ShowLogicalTablesExecutor(); @Mock private ShardingSphereDatabase database; diff --git a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutor.java b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutor.java similarity index 78% rename from kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutor.java rename to kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutor.java index 073ba4082cf..ffe287dcd7d 100644 --- a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutor.java +++ b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutor.java @@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryRes import org.apache.shardingsphere.infra.rule.attribute.datanode.DataNodeRuleAttribute; import org.apache.shardingsphere.infra.util.regex.RegexUtils; import org.apache.shardingsphere.mode.manager.ContextManager; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTableStatement; +import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTablesStatement; import org.apache.shardingsphere.single.rule.SingleRule; import java.util.Arrays; @@ -37,28 +37,28 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; /** - * Show single table executor. + * Show single tables executor. */ @Setter -public final class ShowSingleTableExecutor implements DistSQLQueryExecutor<ShowSingleTableStatement>, DistSQLExecutorRuleAware<SingleRule> { +public final class ShowSingleTablesExecutor implements DistSQLQueryExecutor<ShowSingleTablesStatement>, DistSQLExecutorRuleAware<SingleRule> { private SingleRule rule; @Override - public Collection<String> getColumnNames(final ShowSingleTableStatement sqlStatement) { + public Collection<String> getColumnNames(final ShowSingleTablesStatement sqlStatement) { return Arrays.asList("table_name", "storage_unit_name"); } @Override - public Collection<LocalDataQueryResultRow> getRows(final ShowSingleTableStatement sqlStatement, final ContextManager contextManager) { + public Collection<LocalDataQueryResultRow> getRows(final ShowSingleTablesStatement sqlStatement, final ContextManager contextManager) { Collection<DataNode> resultDataNodes = getPattern(sqlStatement) .map(optional -> getDataNodesWithLikePattern(rule.getAttributes().getAttribute(DataNodeRuleAttribute.class).getAllDataNodes(), optional)) - .orElseGet(() -> getDataNodes(rule.getAttributes().getAttribute(DataNodeRuleAttribute.class).getAllDataNodes(), sqlStatement)); + .orElseGet(() -> getDataNodes(rule.getAttributes().getAttribute(DataNodeRuleAttribute.class).getAllDataNodes())); Collection<DataNode> sortedDataNodes = resultDataNodes.stream().sorted(Comparator.comparing(DataNode::getTableName)).collect(Collectors.toList()); return sortedDataNodes.stream().map(each -> new LocalDataQueryResultRow(each.getTableName(), each.getDataSourceName())).collect(Collectors.toList()); } - private Optional<Pattern> getPattern(final ShowSingleTableStatement sqlStatement) { + private Optional<Pattern> getPattern(final ShowSingleTablesStatement sqlStatement) { return sqlStatement.getLikePattern().isPresent() ? Optional.of(Pattern.compile(RegexUtils.convertLikePatternToRegex(sqlStatement.getLikePattern().get()), Pattern.CASE_INSENSITIVE)) : Optional.empty(); @@ -68,9 +68,8 @@ public final class ShowSingleTableExecutor implements DistSQLQueryExecutor<ShowS return singleTableNodes.entrySet().stream().filter(entry -> pattern.matcher(entry.getKey()).matches()).map(entry -> entry.getValue().iterator().next()).collect(Collectors.toList()); } - private Collection<DataNode> getDataNodes(final Map<String, Collection<DataNode>> singleTableNodes, final ShowSingleTableStatement sqlStatement) { - return singleTableNodes.entrySet().stream().filter(entry -> !sqlStatement.getTableName().isPresent() || sqlStatement.getTableName().get().equalsIgnoreCase(entry.getKey())) - .map(entry -> entry.getValue().iterator().next()).collect(Collectors.toList()); + private Collection<DataNode> getDataNodes(final Map<String, Collection<DataNode>> singleTableNodes) { + return singleTableNodes.values().stream().map(each -> each.iterator().next()).collect(Collectors.toList()); } @Override @@ -79,7 +78,7 @@ public final class ShowSingleTableExecutor implements DistSQLQueryExecutor<ShowS } @Override - public Class<ShowSingleTableStatement> getType() { - return ShowSingleTableStatement.class; + public Class<ShowSingleTablesStatement> getType() { + return ShowSingleTablesStatement.class; } } diff --git a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTableExecutor.java b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTablesExecutor.java similarity index 88% rename from kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTableExecutor.java rename to kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTablesExecutor.java index dde2bb2532e..58371ab8105 100644 --- a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTableExecutor.java +++ b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/query/ShowUnloadedSingleTablesExecutor.java @@ -28,7 +28,7 @@ import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaDa import org.apache.shardingsphere.infra.rule.attribute.table.TableMapperRuleAttribute; import org.apache.shardingsphere.mode.manager.ContextManager; import org.apache.shardingsphere.single.datanode.SingleTableDataNodeLoader; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowUnloadedSingleTableStatement; +import org.apache.shardingsphere.single.distsql.statement.rql.ShowUnloadedSingleTablesStatement; import org.apache.shardingsphere.single.rule.SingleRule; import org.apache.shardingsphere.single.util.SingleTableLoadUtils; @@ -41,22 +41,22 @@ import java.util.Map.Entry; import java.util.stream.Collectors; /** - * Show unloaded single table executor. + * Show unloaded single tables executor. */ @Setter -public final class ShowUnloadedSingleTableExecutor implements DistSQLQueryExecutor<ShowUnloadedSingleTableStatement>, DistSQLExecutorDatabaseAware, DistSQLExecutorRuleAware<SingleRule> { +public final class ShowUnloadedSingleTablesExecutor implements DistSQLQueryExecutor<ShowUnloadedSingleTablesStatement>, DistSQLExecutorDatabaseAware, DistSQLExecutorRuleAware<SingleRule> { private ShardingSphereDatabase database; private SingleRule rule; @Override - public Collection<String> getColumnNames(final ShowUnloadedSingleTableStatement sqlStatement) { + public Collection<String> getColumnNames(final ShowUnloadedSingleTablesStatement sqlStatement) { return Arrays.asList("table_name", "storage_unit_name"); } @Override - public Collection<LocalDataQueryResultRow> getRows(final ShowUnloadedSingleTableStatement sqlStatement, final ContextManager contextManager) { + public Collection<LocalDataQueryResultRow> getRows(final ShowUnloadedSingleTablesStatement sqlStatement, final ContextManager contextManager) { Map<String, Collection<DataNode>> actualDataNodes = getActualDataNodes(database); for (String each : rule.getAttributes().getAttribute(TableMapperRuleAttribute.class).getLogicTableNames()) { actualDataNodes.remove(each.toLowerCase()); @@ -80,7 +80,7 @@ public final class ShowUnloadedSingleTableExecutor implements DistSQLQueryExecut } @Override - public Class<ShowUnloadedSingleTableStatement> getType() { - return ShowUnloadedSingleTableStatement.class; + public Class<ShowUnloadedSingleTablesStatement> getType() { + return ShowUnloadedSingleTablesStatement.class; } } diff --git a/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor b/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor index 079a94826fd..5076a3efc9f 100644 --- a/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor +++ b/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor @@ -15,6 +15,6 @@ # limitations under the License. # -org.apache.shardingsphere.single.distsql.handler.query.ShowSingleTableExecutor +org.apache.shardingsphere.single.distsql.handler.query.ShowSingleTablesExecutor org.apache.shardingsphere.single.distsql.handler.query.ShowDefaultSingleTableStorageUnitExecutor -org.apache.shardingsphere.single.distsql.handler.query.ShowUnloadedSingleTableExecutor +org.apache.shardingsphere.single.distsql.handler.query.ShowUnloadedSingleTablesExecutor diff --git a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutorTest.java b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutorTest.java similarity index 94% rename from kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutorTest.java rename to kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutorTest.java index 235b694c696..dbcd9757667 100644 --- a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTableExecutorTest.java +++ b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/query/ShowSingleTablesExecutorTest.java @@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase; import org.apache.shardingsphere.infra.rule.attribute.RuleAttributes; import org.apache.shardingsphere.infra.rule.attribute.datanode.DataNodeRuleAttribute; import org.apache.shardingsphere.mode.manager.ContextManager; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTableStatement; +import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTablesStatement; import org.apache.shardingsphere.single.rule.SingleRule; import org.junit.jupiter.api.Test; @@ -43,11 +43,11 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -class ShowSingleTableExecutorTest { +class ShowSingleTablesExecutorTest { private DistSQLQueryExecuteEngine engine; - DistSQLQueryExecuteEngine setUp(final ShowSingleTableStatement statement) { + DistSQLQueryExecuteEngine setUp(final ShowSingleTablesStatement statement) { return new DistSQLQueryExecuteEngine(statement, "foo_db", mockContextManager(), mock(DistSQLConnectionContext.class)); } @@ -62,7 +62,7 @@ class ShowSingleTableExecutorTest { @Test void assertGetRowData() throws SQLException { - engine = setUp(mock(ShowSingleTableStatement.class)); + engine = setUp(mock(ShowSingleTablesStatement.class)); engine.executeQuery(); Collection<LocalDataQueryResultRow> actual = engine.getRows(); assertThat(actual.size(), is(2)); @@ -77,7 +77,7 @@ class ShowSingleTableExecutorTest { @Test void assertGetSingleTableWithLikeLiteral() throws SQLException { - engine = setUp(new ShowSingleTableStatement(null, "%item", null)); + engine = setUp(new ShowSingleTablesStatement(null, "%item")); engine.executeQuery(); Collection<LocalDataQueryResultRow> actual = engine.getRows(); assertThat(actual.size(), is(1)); diff --git a/kernel/single/distsql/parser/src/main/antlr4/imports/single/RQLStatement.g4 b/kernel/single/distsql/parser/src/main/antlr4/imports/single/RQLStatement.g4 index ebc14ff51a4..1762663e97e 100644 --- a/kernel/single/distsql/parser/src/main/antlr4/imports/single/RQLStatement.g4 +++ b/kernel/single/distsql/parser/src/main/antlr4/imports/single/RQLStatement.g4 @@ -23,8 +23,8 @@ showDefaultSingleTableStorageUnit : SHOW DEFAULT SINGLE TABLE STORAGE UNIT (FROM databaseName)? ; -showSingleTable - : SHOW SINGLE (TABLES showLike? | TABLE tableName) (FROM databaseName)? +showSingleTables + : SHOW SINGLE TABLES (FROM databaseName)? showLike? ; showUnloadedSingleTables diff --git a/kernel/single/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SingleDistSQLStatement.g4 b/kernel/single/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SingleDistSQLStatement.g4 index 345618d4c3e..b677e4bb592 100644 --- a/kernel/single/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SingleDistSQLStatement.g4 +++ b/kernel/single/distsql/parser/src/main/antlr4/org/apache/shardingsphere/distsql/parser/autogen/SingleDistSQLStatement.g4 @@ -22,7 +22,7 @@ import Symbol, RDLStatement, RQLStatement; execute : (setDefaultSingleTableStorageUnit | showDefaultSingleTableStorageUnit - | showSingleTable + | showSingleTables | countSingleTable | loadSingleTable | unloadSingleTable diff --git a/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java b/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java index ddcecec5490..9f1b53fe3eb 100644 --- a/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java +++ b/kernel/single/distsql/parser/src/main/java/org/apache/shardingsphere/single/distsql/parser/core/SingleDistSQLStatementVisitor.java @@ -29,7 +29,7 @@ import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementPa import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.LoadSingleTableContext; import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.SetDefaultSingleTableStorageUnitContext; import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.ShowDefaultSingleTableStorageUnitContext; -import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.ShowSingleTableContext; +import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.ShowSingleTablesContext; import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.ShowUnloadedSingleTablesContext; import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.TableFromSchemaContext; import org.apache.shardingsphere.distsql.parser.autogen.SingleDistSQLStatementParser.TableFromStorageUnitContext; @@ -41,8 +41,8 @@ import org.apache.shardingsphere.single.distsql.statement.rdl.LoadSingleTableSta import org.apache.shardingsphere.single.distsql.statement.rdl.SetDefaultSingleTableStorageUnitStatement; import org.apache.shardingsphere.single.distsql.statement.rdl.UnloadSingleTableStatement; import org.apache.shardingsphere.single.distsql.statement.rql.ShowDefaultSingleTableStorageUnitStatement; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTableStatement; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowUnloadedSingleTableStatement; +import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTablesStatement; +import org.apache.shardingsphere.single.distsql.statement.rql.ShowUnloadedSingleTablesStatement; import org.apache.shardingsphere.sql.parser.api.ASTNode; import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor; import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment; @@ -73,9 +73,9 @@ public final class SingleDistSQLStatementVisitor extends SingleDistSQLStatementB } @Override - public ASTNode visitShowSingleTable(final ShowSingleTableContext ctx) { - return new ShowSingleTableStatement(null == ctx.TABLE() ? null : getIdentifierValue(ctx.tableName()), null == ctx.showLike() ? null : getIdentifierValue(ctx.showLike().likePattern()), - null == ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName())); + public ASTNode visitShowSingleTables(final ShowSingleTablesContext ctx) { + return new ShowSingleTablesStatement(null == ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()), + null == ctx.showLike() ? null : getIdentifierValue(ctx.showLike().likePattern())); } @Override @@ -119,12 +119,13 @@ public final class SingleDistSQLStatementVisitor extends SingleDistSQLStatementB @Override public ASTNode visitShowUnloadedSingleTables(final ShowUnloadedSingleTablesContext ctx) { - return null == ctx.fromClause() ? new ShowUnloadedSingleTableStatement(null, null, null) : visitShowUnloadedSingleTablesWithFromClause(ctx.fromClause()); + return null == ctx.fromClause() ? new ShowUnloadedSingleTablesStatement(null, null, null) : visitShowUnloadedSingleTablesWithFromClause(ctx.fromClause()); } private ASTNode visitShowUnloadedSingleTablesWithFromClause(final FromClauseContext ctx) { - return new ShowUnloadedSingleTableStatement(null == ctx.storageUnitName() ? null : getIdentifierValue(ctx.storageUnitName()), - null == ctx.schemaName() ? null : getIdentifierValue(ctx.schemaName()), null == ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName())); + return new ShowUnloadedSingleTablesStatement(null == ctx.databaseName() ? null : (DatabaseSegment) visit(ctx.databaseName()), + null == ctx.storageUnitName() ? null : getIdentifierValue(ctx.storageUnitName()), + null == ctx.schemaName() ? null : getIdentifierValue(ctx.schemaName())); } @Override diff --git a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTableStatement.java b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java similarity index 66% rename from kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTableStatement.java rename to kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java index 26e6a925088..1d2c378b0ce 100644 --- a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTableStatement.java +++ b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowSingleTablesStatement.java @@ -20,26 +20,12 @@ package org.apache.shardingsphere.single.distsql.statement.rql; import org.apache.shardingsphere.distsql.statement.rql.resource.ShowTablesStatement; import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment; -import java.util.Optional; - /** - * Show single table statement. + * Show single tables statement. */ -public final class ShowSingleTableStatement extends ShowTablesStatement { - - private final String tableName; - - public ShowSingleTableStatement(final String tableName, final String likePattern, final DatabaseSegment database) { - super(likePattern, database); - this.tableName = tableName; - } +public final class ShowSingleTablesStatement extends ShowTablesStatement { - /** - * Get table name. - * - * @return table name - */ - public Optional<String> getTableName() { - return Optional.ofNullable(tableName); + public ShowSingleTablesStatement(final DatabaseSegment database, final String likePattern) { + super(database, likePattern); } } diff --git a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTableStatement.java b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java similarity index 85% rename from kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTableStatement.java rename to kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java index 117c8b7c4ee..ec83ce3e556 100644 --- a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTableStatement.java +++ b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/statement/rql/ShowUnloadedSingleTablesStatement.java @@ -23,17 +23,17 @@ import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.Datab import java.util.Optional; /** - * Show unloaded single table statement. + * Show unloaded single tables statement. */ -public final class ShowUnloadedSingleTableStatement extends ShowTablesStatement { +public final class ShowUnloadedSingleTablesStatement extends ShowTablesStatement { private final String storageUnitName; private final String schemaName; - public ShowUnloadedSingleTableStatement(final String storageUnitName, final String schemaName, final DatabaseSegment database) { + public ShowUnloadedSingleTablesStatement(final DatabaseSegment database, final String storageUnitName, final String schemaName) { // TODO support like later - super(null, database); + super(database, null); this.storageUnitName = storageUnitName; this.schemaName = schemaName; } diff --git a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java index 96c4398e95c..6144ecab3d9 100644 --- a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java +++ b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowLogicalTablesStatement.java @@ -29,7 +29,7 @@ public final class ShowLogicalTablesStatement extends ShowTablesStatement { private final boolean containsFull; public ShowLogicalTablesStatement(final boolean containsFull, final DatabaseSegment database, final String likePattern) { - super(likePattern, database); + super(database, likePattern); this.containsFull = containsFull; } } diff --git a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java index be597c37ef8..09f513095bf 100644 --- a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java +++ b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowTablesStatement.java @@ -29,18 +29,9 @@ import java.util.Optional; @RequiredArgsConstructor public abstract class ShowTablesStatement extends ResourceQueryStatement implements FromDatabaseAvailable { - private final String likePattern; - private final DatabaseSegment database; - /** - * Get like pattern. - * - * @return like pattern - */ - public Optional<String> getLikePattern() { - return Optional.ofNullable(likePattern); - } + private final String likePattern; /** * Get database. @@ -51,4 +42,13 @@ public abstract class ShowTablesStatement extends ResourceQueryStatement impleme public final Optional<DatabaseSegment> getDatabase() { return Optional.ofNullable(database); } + + /** + * Get like pattern. + * + * @return like pattern + */ + public Optional<String> getLikePattern() { + return Optional.ofNullable(likePattern); + } } diff --git a/test/e2e/sql/src/test/resources/cases/rql/e2e-rql-show.xml b/test/e2e/sql/src/test/resources/cases/rql/e2e-rql-show.xml index 53a283fbcb2..92ab678da4e 100644 --- a/test/e2e/sql/src/test/resources/cases/rql/e2e-rql-show.xml +++ b/test/e2e/sql/src/test/resources/cases/rql/e2e-rql-show.xml @@ -96,7 +96,7 @@ </test-case> <!-- TODO add db,tbl,dbtbl_with_readwrite_splitting,encrypt,encrypt_and_readwrite_splitting,dbtbl_with_readwrite_splitting_and_encrypt scenario when use standard table --> - <test-case sql="SHOW SINGLE TABLE t_product" scenario-types="sharding_and_encrypt"> + <test-case sql="SHOW SINGLE TABLES LIKE 't_product'" scenario-types="sharding_and_encrypt"> <assertion expected-data-file="show_single_table.xml" /> </test-case> diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java index 58354daa587..5d3e31a9eca 100644 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java +++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowTablesStatementAssert.java @@ -20,10 +20,8 @@ package org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement. import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.apache.shardingsphere.distsql.statement.rql.resource.ShowTablesStatement; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTableStatement; import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext; import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.database.DatabaseAssert; -import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.rql.impl.table.ShowSingleTablesStatementAssert; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table.ShowTableStatementTestCase; @@ -49,9 +47,6 @@ public final class ShowTablesStatementAssert { public static void assertIs(final SQLCaseAssertContext assertContext, final ShowTablesStatement actual, final SQLParserTestCase expected) { assertThat("Expected value should be ShowTableStatementTestCase", expected, instanceOf(ShowTableStatementTestCase.class)); assertIs(assertContext, actual, (ShowTableStatementTestCase) expected); - if (actual instanceof ShowSingleTableStatement) { - ShowSingleTablesStatementAssert.assertIs(assertContext, (ShowSingleTableStatement) actual, expected); - } } private static void assertIs(final SQLCaseAssertContext assertContext, final ShowTablesStatement actual, final ShowTableStatementTestCase expected) { diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/table/ShowSingleTablesStatementAssert.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/table/ShowSingleTablesStatementAssert.java deleted file mode 100644 index 9577082b142..00000000000 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/table/ShowSingleTablesStatementAssert.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.rql.impl.table; - -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.apache.shardingsphere.single.distsql.statement.rql.ShowSingleTableStatement; -import org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext; -import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase; -import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table.ShowSingleTableStatementTestCase; - -import static org.hamcrest.CoreMatchers.instanceOf; -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 single tables statement assert. - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public final class ShowSingleTablesStatementAssert { - - /** - * Assert show single tables statement is correct with expected parser result. - * - * @param assertContext assert context - * @param actual actual show single tables statement - * @param expected expected show single tables statement test case - */ - public static void assertIs(final SQLCaseAssertContext assertContext, final ShowSingleTableStatement actual, final SQLParserTestCase expected) { - assertThat("Expected value should be ShowSingleTableStatementTestCase", expected, instanceOf(ShowSingleTableStatementTestCase.class)); - assertIs(assertContext, actual, (ShowSingleTableStatementTestCase) expected); - } - - private static void assertIs(final SQLCaseAssertContext assertContext, final ShowSingleTableStatement actual, final ShowSingleTableStatementTestCase expected) { - if (null == expected.getTable()) { - assertFalse(actual.getTableName().isPresent(), assertContext.getText("Actual table name should not exist.")); - } else { - assertTrue(actual.getTableName().isPresent(), assertContext.getText("Actual table name should exist.")); - assertThat(assertContext.getText("Table name assertion error"), actual.getTableName().get(), is(expected.getTable())); - } - } -} diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java index 8b9bebec14d..0d6471aa7e9 100644 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java +++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java @@ -430,8 +430,7 @@ import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.rule.translator.ShowSQLTranslatorRuleStatementTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.storage.unit.ShowRulesUsedStorageUnitStatementTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.storage.unit.ShowStorageUnitsStatementTestCase; -import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table.ShowLogicalTableStatementTestCase; -import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table.ShowSingleTableStatementTestCase; +import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table.ShowTableStatementTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rul.FormatSQLStatementTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rul.ParseStatementTestCase; import org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rul.PreviewStatementTestCase; @@ -1153,11 +1152,11 @@ public final class RootSQLParserTestCases { @XmlElement(name = "show-storage-units") private final List<ShowStorageUnitsStatementTestCase> showStorageUnitsTestCases = new LinkedList<>(); - @XmlElement(name = "show-single-table") - private final List<ShowSingleTableStatementTestCase> showSingleTableTestCases = new LinkedList<>(); + @XmlElement(name = "show-single-tables") + private final List<ShowTableStatementTestCase> showSingleTableTestCases = new LinkedList<>(); @XmlElement(name = "show-logical-tables") - private final List<ShowLogicalTableStatementTestCase> showLogicalTableTestCases = new LinkedList<>(); + private final List<ShowTableStatementTestCase> showLogicalTableTestCases = new LinkedList<>(); @XmlElement(name = "show-default-single-table-storage-unit") private final List<ShowDefaultSingleTableStorageUnitStatementTestCase> showDefaultSingleTableStorageUnitTestCases = new LinkedList<>(); diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowLogicalTableStatementTestCase.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowLogicalTableStatementTestCase.java deleted file mode 100644 index ba753370904..00000000000 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowLogicalTableStatementTestCase.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table; - -/** - * Show logical table statement test case. - */ -public final class ShowLogicalTableStatementTestCase extends ShowTableStatementTestCase { -} diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowSingleTableStatementTestCase.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowSingleTableStatementTestCase.java deleted file mode 100644 index 4760c3d3cc2..00000000000 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowSingleTableStatementTestCase.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.rql.table; - -import lombok.Getter; -import lombok.Setter; - -import javax.xml.bind.annotation.XmlAttribute; - -/** - * Show single table statement test case. - */ -@Getter -@Setter -public final class ShowSingleTableStatementTestCase extends ShowTableStatementTestCase { - - @XmlAttribute - private String table; -} diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowTableStatementTestCase.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowTableStatementTestCase.java index 47e08f9b122..7a802054155 100644 --- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowTableStatementTestCase.java +++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/table/ShowTableStatementTestCase.java @@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlAttribute; */ @Getter @Setter -public abstract class ShowTableStatementTestCase extends DatabaseContainedTestCase { +public final class ShowTableStatementTestCase extends DatabaseContainedTestCase { @XmlAttribute(name = "like-pattern") private String likePattern; diff --git a/test/it/parser/src/main/resources/case/rql/show.xml b/test/it/parser/src/main/resources/case/rql/show.xml index 2d05bef81a9..c83d542e535 100644 --- a/test/it/parser/src/main/resources/case/rql/show.xml +++ b/test/it/parser/src/main/resources/case/rql/show.xml @@ -83,17 +83,13 @@ <database name="shadow_db" start-index="35" stop-index="43" /> </show-default-shadow-algorithm> - <show-single-table sql-case-id="show-single-table" table="t_order"> - <database name="single_table_db" start-index="31" stop-index="45" /> - </show-single-table> - - <show-single-table sql-case-id="show-single-tables"> + <show-single-tables sql-case-id="show-single-tables"> <database name="single_table_db" start-index="24" stop-index="38" /> - </show-single-table> + </show-single-tables> - <show-single-table sql-case-id="show-single-tables-like" like-pattern="t_%"> - <database name="single_table_db" start-index="35" stop-index="49" /> - </show-single-table> + <show-single-tables sql-case-id="show-single-tables-like" like-pattern="t_%"> + <database name="single_table_db" start-index="24" stop-index="38" /> + </show-single-tables> <show-default-single-table-storage-unit sql-case-id="show-default-single-table-storage-unit"> <database name="single_table_db" start-index="44" stop-index="58" /> diff --git a/test/it/parser/src/main/resources/sql/supported/rql/show.xml b/test/it/parser/src/main/resources/sql/supported/rql/show.xml index 29e1dde85e6..b314dba34d1 100644 --- a/test/it/parser/src/main/resources/sql/supported/rql/show.xml +++ b/test/it/parser/src/main/resources/sql/supported/rql/show.xml @@ -31,9 +31,8 @@ <sql-case id="show-shadow-table-rules" value="SHOW SHADOW TABLE RULES FROM shadow_db" db-types="ShardingSphere" /> <sql-case id="show-shadow-algorithms" value="SHOW SHADOW ALGORITHMS FROM shadow_db" db-types="ShardingSphere" /> <sql-case id="show-default-shadow-algorithm" value="SHOW DEFAULT SHADOW ALGORITHM FROM shadow_db" db-types="ShardingSphere" /> - <sql-case id="show-single-table" value="SHOW SINGLE TABLE t_order FROM single_table_db" db-types="ShardingSphere" /> <sql-case id="show-single-tables" value="SHOW SINGLE TABLES FROM single_table_db" db-types="ShardingSphere" /> - <sql-case id="show-single-tables-like" value="SHOW SINGLE TABLES LIKE 't_%' FROM single_table_db" db-types="ShardingSphere" /> + <sql-case id="show-single-tables-like" value="SHOW SINGLE TABLES FROM single_table_db LIKE 't_%'" db-types="ShardingSphere" /> <sql-case id="show-default-single-table-storage-unit" value="SHOW DEFAULT SINGLE TABLE STORAGE UNIT FROM single_table_db" db-types="ShardingSphere" /> <sql-case id="show-sharding-table-nodes" value="SHOW SHARDING TABLE NODES t_order FROM sharding_db" db-types="ShardingSphere" /> <sql-case id="show-sharding-key-generators" value="SHOW SHARDING KEY GENERATORS FROM sharding_db" db-types="ShardingSphere" />