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 8319316c3c0 Remove usageCount from showStorageUnits (#32705)
8319316c3c0 is described below
commit 8319316c3c0f538290260b28e2d87aebea6bc698
Author: Raigor <[email protected]>
AuthorDate: Wed Aug 28 11:28:32 2024 +0800
Remove usageCount from showStorageUnits (#32705)
---
.../core/advice/SQLParseCountAdviceTest.java | 2 +-
.../rql/resource/ShowStorageUnitExecutor.java | 61 +++++++---------------
.../rql/resource/ShowStorageUnitExecutorTest.java | 48 +++--------------
.../engine/src/main/antlr4/imports/Keyword.g4 | 12 -----
.../engine/src/main/antlr4/imports/RQLStatement.g4 | 6 +--
.../core/kernel/KernelDistSQLStatementVisitor.java | 3 +-
.../rql/resource/ShowStorageUnitsStatement.java | 11 ----
.../rql/impl/ShowStorageUnitsStatementAssert.java | 6 ---
.../unit/ShowStorageUnitsStatementTestCase.java | 3 --
.../it/parser/src/main/resources/case/rql/show.xml | 4 --
.../src/main/resources/sql/supported/rql/show.xml | 1 -
11 files changed, 29 insertions(+), 128 deletions(-)
diff --git
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
index 9e459914be7..dfd4fcca4ff 100644
---
a/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
+++
b/agent/plugins/metrics/core/src/test/java/org/apache/shardingsphere/agent/plugin/metrics/core/advice/SQLParseCountAdviceTest.java
@@ -97,7 +97,7 @@ class SQLParseCountAdviceTest {
@Test
void assertParseRQL() {
- assertParse(new ShowStorageUnitsStatement(new DatabaseSegment(0, 0,
null), null, null), "RQL=1");
+ assertParse(new ShowStorageUnitsStatement(new DatabaseSegment(0, 0,
null), null), "RQL=1");
}
@Test
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutor.java
index 914f8024316..7191974b4bd 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutor.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.util.regex.RegexUtils;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -37,12 +36,12 @@ import javax.sql.DataSource;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedHashMap;
-import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Properties;
import java.util.regex.Pattern;
+import java.util.stream.Collectors;
/**
* Show storage unit executor.
@@ -60,47 +59,27 @@ public final class ShowStorageUnitExecutor implements
DistSQLQueryExecutor<ShowS
@Override
public Collection<LocalDataQueryResultRow> getRows(final
ShowStorageUnitsStatement sqlStatement, final ContextManager contextManager) {
- Collection<LocalDataQueryResultRow> result = new LinkedList<>();
- for (Entry<String, StorageUnit> entry :
getToBeShownStorageUnits(sqlStatement).entrySet()) {
- ConnectionProperties connectionProps =
entry.getValue().getConnectionProperties();
- DataSourcePoolProperties dataSourcePoolProps =
getDataSourcePoolProperties(entry.getValue());
- Map<String, Object> poolProps =
dataSourcePoolProps.getPoolPropertySynonyms().getStandardProperties();
- Map<String, Object> customProps =
getCustomProperties(dataSourcePoolProps.getCustomProperties().getProperties(),
connectionProps.getQueryProperties());
- result.add(new LocalDataQueryResultRow(entry.getKey(),
- entry.getValue().getStorageType().getType(),
- connectionProps.getHostname(),
- connectionProps.getPort(),
- connectionProps.getCatalog(),
- getStandardProperty(poolProps,
"connectionTimeoutMilliseconds"),
- getStandardProperty(poolProps, "idleTimeoutMilliseconds"),
- getStandardProperty(poolProps, "maxLifetimeMilliseconds"),
- getStandardProperty(poolProps, "maxPoolSize"),
- getStandardProperty(poolProps, "minPoolSize"),
- getStandardProperty(poolProps, "readOnly"),
- customProps));
- }
- return result;
+ return getStorageUnits(sqlStatement).entrySet().stream().map(entry ->
getRow(entry.getKey(), entry.getValue())).collect(Collectors.toList());
}
- private Map<String, StorageUnit> getToBeShownStorageUnits(final
ShowStorageUnitsStatement sqlStatement) {
- Map<String, StorageUnit> result = new
LinkedHashMap<>(database.getResourceMetaData().getStorageUnits().size(), 1F);
- Optional<Integer> usageCount = sqlStatement.getUsageCount();
- if (usageCount.isPresent()) {
- Map<String, Collection<Class<? extends ShardingSphereRule>>>
inUsedStorageUnits =
database.getRuleMetaData().getInUsedStorageUnitNameAndRulesMap();
- for (Entry<String, StorageUnit> entry :
database.getResourceMetaData().getStorageUnits().entrySet()) {
- int currentUsageCount =
inUsedStorageUnits.containsKey(entry.getKey()) ?
inUsedStorageUnits.get(entry.getKey()).size() : 0;
- if (usageCount.get().equals(currentUsageCount)) {
- result.put(entry.getKey(), entry.getValue());
- }
- }
- } else {
- result.putAll(database.getResourceMetaData().getStorageUnits());
- }
- if (sqlStatement.getLikePattern().isPresent()) {
- Pattern pattern =
Pattern.compile(RegexUtils.convertLikePatternToRegex(sqlStatement.getLikePattern().get()),
Pattern.CASE_INSENSITIVE);
- result.keySet().removeIf(each -> !pattern.matcher(each).find());
- }
- return result;
+ private LocalDataQueryResultRow getRow(final String name, final
StorageUnit storageUnit) {
+ ConnectionProperties connectionProps =
storageUnit.getConnectionProperties();
+ DataSourcePoolProperties dataSourcePoolProps =
getDataSourcePoolProperties(storageUnit);
+ Map<String, Object> poolProps =
dataSourcePoolProps.getPoolPropertySynonyms().getStandardProperties();
+ Map<String, Object> customProps =
getCustomProperties(dataSourcePoolProps.getCustomProperties().getProperties(),
connectionProps.getQueryProperties());
+ return new LocalDataQueryResultRow(name,
storageUnit.getStorageType().getType(), connectionProps.getHostname(),
connectionProps.getPort(), connectionProps.getCatalog(),
+ getStandardProperty(poolProps,
"connectionTimeoutMilliseconds"), getStandardProperty(poolProps,
"idleTimeoutMilliseconds"),
+ getStandardProperty(poolProps, "maxLifetimeMilliseconds"),
getStandardProperty(poolProps, "maxPoolSize"), getStandardProperty(poolProps,
"minPoolSize"),
+ getStandardProperty(poolProps, "readOnly"), customProps);
+ }
+
+ private Map<String, StorageUnit> getStorageUnits(final
ShowStorageUnitsStatement sqlStatement) {
+ return getLikePattern(sqlStatement).map(optional ->
database.getResourceMetaData().getStorageUnits().entrySet().stream().filter(entry
-> optional.matcher(entry.getKey()).matches())
+ .collect(Collectors.toMap(Entry::getKey,
Entry::getValue))).orElseGet(() ->
database.getResourceMetaData().getStorageUnits());
+ }
+
+ private Optional<Pattern> getLikePattern(final ShowStorageUnitsStatement
sqlStatement) {
+ return sqlStatement.getLikePattern().map(optional ->
Pattern.compile(RegexUtils.convertLikePatternToRegex(optional),
Pattern.CASE_INSENSITIVE));
}
private DataSourcePoolProperties getDataSourcePoolProperties(final
StorageUnit storageUnit) {
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
index 317ed43bbe4..4b830516d40 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowStorageUnitExecutorTest.java
@@ -17,12 +17,11 @@
package org.apache.shardingsphere.distsql.handler.executor.rql.resource;
+import org.apache.groovy.util.Maps;
import
org.apache.shardingsphere.distsql.statement.rql.resource.ShowStorageUnitsStatement;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
-import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.mode.manager.ContextManager;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DatabaseSegment;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
@@ -34,8 +33,6 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.stream.Collectors;
@@ -72,21 +69,18 @@ class ShowStorageUnitExecutorTest {
@Test
void assertGetRowsWithAllStorageUnits() {
- Map<Integer, String> nameMap = new HashMap<>(3, 1F);
- nameMap.put(0, "ds_2");
- nameMap.put(1, "ds_1");
- nameMap.put(2, "ds_0");
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), null, null),
mock(ContextManager.class));
+ Map<Integer, String> storageUnitNames = Maps.of(0, "ds_2", 1, "ds_1",
2, "ds_0");
+ Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), null),
mock(ContextManager.class));
assertThat(actual.size(), is(3));
Iterator<LocalDataQueryResultRow> iterator = actual.iterator();
int index = 0;
while (iterator.hasNext()) {
LocalDataQueryResultRow row = iterator.next();
- assertThat(row.getCell(1), is(nameMap.get(index)));
+ assertThat(row.getCell(1), is(storageUnitNames.get(index)));
assertThat(row.getCell(2), is("MySQL"));
assertThat(row.getCell(3), is("localhost"));
assertThat(row.getCell(4), is("3307"));
- assertThat(row.getCell(5), is(nameMap.get(index)));
+ assertThat(row.getCell(5), is(storageUnitNames.get(index)));
assertThat(row.getCell(6), is(""));
assertThat(row.getCell(7), is(""));
assertThat(row.getCell(8), is(""));
@@ -100,7 +94,7 @@ class ShowStorageUnitExecutorTest {
@Test
void assertGetRowsWithLikePattern() {
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), "_0", null),
mock(ContextManager.class));
+ Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), "%_0"),
mock(ContextManager.class));
assertThat(actual.size(), is(1));
LocalDataQueryResultRow row = actual.iterator().next();
assertThat(row.getCell(1), is("ds_0"));
@@ -116,34 +110,4 @@ class ShowStorageUnitExecutorTest {
assertThat(row.getCell(11), is(""));
assertThat(row.getCell(12),
is("{\"openedConnections\":[],\"closed\":false}"));
}
-
- @Test
- void assertGetRowsWithUnusedStorageUnits() {
- RuleMetaData metaData = mockUnusedStorageUnitsRuleMetaData();
- when(database.getRuleMetaData()).thenReturn(metaData);
- Collection<LocalDataQueryResultRow> actual = executor.getRows(new
ShowStorageUnitsStatement(mock(DatabaseSegment.class), null, 0),
mock(ContextManager.class));
- assertThat(actual.size(), is(1));
- LocalDataQueryResultRow row = actual.iterator().next();
- assertThat(row.getCell(1), is("ds_2"));
- assertThat(row.getCell(2), is("MySQL"));
- assertThat(row.getCell(3), is("localhost"));
- assertThat(row.getCell(4), is("3307"));
- assertThat(row.getCell(5), is("ds_2"));
- assertThat(row.getCell(6), is(""));
- assertThat(row.getCell(7), is(""));
- assertThat(row.getCell(8), is(""));
- assertThat(row.getCell(9), is("100"));
- assertThat(row.getCell(10), is("10"));
- assertThat(row.getCell(11), is(""));
- assertThat(row.getCell(12),
is("{\"openedConnections\":[],\"closed\":false}"));
- }
-
- private RuleMetaData mockUnusedStorageUnitsRuleMetaData() {
- RuleMetaData result = mock(RuleMetaData.class);
- Map<String, Collection<Class<? extends ShardingSphereRule>>>
inUsedStorageUnitNameAndRulesMap = new HashMap<>(2, 1F);
- inUsedStorageUnitNameAndRulesMap.put("ds_0",
Collections.singleton(ShardingSphereRule.class));
- inUsedStorageUnitNameAndRulesMap.put("ds_1",
Collections.singleton(ShardingSphereRule.class));
-
when(result.getInUsedStorageUnitNameAndRulesMap()).thenReturn(inUsedStorageUnitNameAndRulesMap);
- return result;
- }
}
diff --git a/parser/distsql/engine/src/main/antlr4/imports/Keyword.g4
b/parser/distsql/engine/src/main/antlr4/imports/Keyword.g4
index 93a556892e0..310000c14ae 100644
--- a/parser/distsql/engine/src/main/antlr4/imports/Keyword.g4
+++ b/parser/distsql/engine/src/main/antlr4/imports/Keyword.g4
@@ -111,10 +111,6 @@ DISABLE
: D I S A B L E
;
-INSTANCE
- : I N S T A N C E
- ;
-
IGNORE
: I G N O R E
;
@@ -231,10 +227,6 @@ WITH
: W I T H
;
-UNUSED
- : U N U S E D
- ;
-
INFO
: I N F O
;
@@ -271,10 +263,6 @@ NODES
: N O D E S
;
-USAGE_COUNT
- : U S A G E UL_ C O U N T
- ;
-
REGISTER
: R E G I S T E R
;
diff --git a/parser/distsql/engine/src/main/antlr4/imports/RQLStatement.g4
b/parser/distsql/engine/src/main/antlr4/imports/RQLStatement.g4
index 65093eb0de1..3a8be149365 100644
--- a/parser/distsql/engine/src/main/antlr4/imports/RQLStatement.g4
+++ b/parser/distsql/engine/src/main/antlr4/imports/RQLStatement.g4
@@ -20,7 +20,7 @@ grammar RQLStatement;
import BaseRule;
showStorageUnits
- : SHOW STORAGE UNITS (FROM databaseName)? showLike? (WHERE USAGE_COUNT EQ_
usageCount)?
+ : SHOW STORAGE UNITS (FROM databaseName)? showLike?
;
showRulesUsedStorageUnit
@@ -31,10 +31,6 @@ showLogicalTables
: SHOW FULL? LOGICAL TABLES (FROM databaseName)? showLike?
;
-usageCount
- : INT_
- ;
-
showLike
: LIKE likePattern
;
diff --git
a/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
b/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index e9127b12975..4968e9b360c 100644
---
a/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++
b/parser/distsql/engine/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -221,8 +221,7 @@ public final class KernelDistSQLStatementVisitor extends
KernelDistSQLStatementB
public ASTNode visitShowStorageUnits(final ShowStorageUnitsContext ctx) {
DatabaseSegment database = null == ctx.databaseName() ? null :
(DatabaseSegment) visit(ctx.databaseName());
String likePattern = null == ctx.showLike() ? null :
getIdentifierValue(ctx.showLike().likePattern());
- Integer usageCount = null == ctx.usageCount() ? null :
Integer.parseInt(ctx.usageCount().getText());
- return new ShowStorageUnitsStatement(database, likePattern,
usageCount);
+ return new ShowStorageUnitsStatement(database, likePattern);
}
@Override
diff --git
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
index b11a2fbfcf5..9560bb1d4db 100644
---
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
+++
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/statement/rql/resource/ShowStorageUnitsStatement.java
@@ -35,8 +35,6 @@ public final class ShowStorageUnitsStatement extends
ResourceQueryStatement impl
private final String likePattern;
- private final Integer usageCount;
-
@Override
public Optional<DatabaseSegment> getDatabase() {
return Optional.ofNullable(database);
@@ -50,13 +48,4 @@ public final class ShowStorageUnitsStatement extends
ResourceQueryStatement impl
public Optional<String> getLikePattern() {
return Optional.ofNullable(likePattern);
}
-
- /**
- * Get usage count.
- *
- * @return usage count
- */
- public Optional<Integer> getUsageCount() {
- return Optional.ofNullable(usageCount);
- }
}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
index fa0b5b756db..8056b131384 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/rql/impl/ShowStorageUnitsStatementAssert.java
@@ -56,12 +56,6 @@ public final class ShowStorageUnitsStatementAssert {
assertTrue(actual.getDatabase().isPresent(),
assertContext.getText("Actual database should exist."));
DatabaseAssert.assertIs(assertContext, actual.getDatabase().get(),
expected.getDatabase());
}
- if (null == expected.getUsageCount()) {
- assertFalse(actual.getUsageCount().isPresent(),
assertContext.getText("Actual usage count should not exist."));
- } else {
- assertTrue(actual.getUsageCount().isPresent(),
assertContext.getText("Actual usage count should exist."));
- assertThat(assertContext.getText("Usage count assertion error"),
actual.getUsageCount().get(), is(expected.getUsageCount()));
- }
if (null == expected.getLikePattern()) {
assertFalse(actual.getLikePattern().isPresent(),
assertContext.getText("Actual like pattern should not exist."));
} else {
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/storage/unit/ShowStorageUnitsStatementTestCase.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/storage/unit/ShowStorageUnitsStatementTestCase.java
index 973115ed06d..31a56f20ac1 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/storage/unit/ShowStorageUnitsStatementTestCase.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/rql/storage/unit/ShowStorageUnitsStatementTestCase.java
@@ -32,7 +32,4 @@ public final class ShowStorageUnitsStatementTestCase extends
DatabaseContainedTe
@XmlAttribute(name = "like-pattern")
private String likePattern;
-
- @XmlAttribute(name = "usage-count")
- private Integer usageCount;
}
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 6405159537f..2d05bef81a9 100644
--- a/test/it/parser/src/main/resources/case/rql/show.xml
+++ b/test/it/parser/src/main/resources/case/rql/show.xml
@@ -181,10 +181,6 @@
<database name="sharding_db" start-index="24" stop-index="34" />
</show-storage-units>
- <show-storage-units sql-case-id="show-storage-units-where-usage-count"
usage-count="0">
- <database name="sharding_db" start-index="24" stop-index="34" />
- </show-storage-units>
-
<show-logical-tables sql-case-id="show-logical-tables" />
<show-logical-tables sql-case-id="show-logical-tables-from">
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 b29d819a2cb..29e1dde85e6 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
@@ -56,7 +56,6 @@
<sql-case id="show-storage-units" value="SHOW STORAGE UNITS"
db-types="ShardingSphere" />
<sql-case id="show-storage-units-from" value="SHOW STORAGE UNITS FROM
sharding_db" db-types="ShardingSphere" />
<sql-case id="show-storage-units-like" value="SHOW STORAGE UNITS FROM
sharding_db LIKE 'ds_%'" db-types="ShardingSphere" />
- <sql-case id="show-storage-units-where-usage-count" value="SHOW STORAGE
UNITS FROM sharding_db WHERE USAGE_COUNT = 0" db-types="ShardingSphere" />
<sql-case id="show-logical-tables" value="SHOW LOGICAL TABLES"
db-types="ShardingSphere" />
<sql-case id="show-logical-tables-from" value="SHOW LOGICAL TABLES FROM
sharding_db" db-types="ShardingSphere" />
<sql-case id="show-logical-tables-like" value="SHOW LOGICAL TABLES FROM
sharding_db LIKE 't_%' " db-types="ShardingSphere" />