This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 a2451da2963 Add parser test case for show storage unit with like
(#32461)
a2451da2963 is described below
commit a2451da2963583e3d09ff122a2ae39664fe5b960
Author: Raigor <[email protected]>
AuthorDate: Sun Aug 11 09:52:12 2024 +0800
Add parser test case for show storage unit with like (#32461)
* Add parser test case for show storage unit with like
* keep indents on empty lines in xml
---
.../syntax/rql/storage-unit-query/show-storage-units.cn.md | 2 +-
.../syntax/rql/storage-unit-query/show-storage-units.en.md | 2 +-
.../statement/rql/impl/ShowStorageUnitsStatementAssert.java | 6 ++++++
.../rql/storage/unit/ShowStorageUnitsStatementTestCase.java | 3 +++
test/it/parser/src/main/resources/case/rql/show.xml | 12 ++++++++----
test/it/parser/src/main/resources/sql/supported/rql/show.xml | 1 +
6 files changed, 20 insertions(+), 6 deletions(-)
diff --git
a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
index ac754ff918d..bc0dc25391d 100644
---
a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
+++
b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.cn.md
@@ -13,7 +13,7 @@ weight = 1
{{% tab name="语法" %}}
```sql
ShowStorageUnit ::=
- 'SHOW' 'STORAGE' 'UNITS' showLike? ('WHERE' 'USAGE_COUNT' '=' usageCount)?
('FROM' databaseName)?
+ 'SHOW' 'STORAGE' 'UNITS' ('FROM' databaseName)? showLike? ('WHERE'
'USAGE_COUNT' '=' usageCount)?
showLike ::=
'LIKE' likePattern
diff --git
a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
index 8fe41b577ef..90c03e3a2f5 100644
---
a/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
+++
b/docs/document/content/user-manual/shardingsphere-proxy/distsql/syntax/rql/storage-unit-query/show-storage-units.en.md
@@ -13,7 +13,7 @@ The `SHOW STORAGE UNITS` syntax is used to query the storage
units that have bee
{{% tab name="Grammar" %}}
```sql
ShowStorageUnit ::=
- 'SHOW' 'STORAGE' 'UNITS' showLike? ('WHERE' 'USAGE_COUNT' '=' usageCount)?
('FROM' databaseName)?
+ 'SHOW' 'STORAGE' 'UNITS' ('FROM' databaseName)? showLike? ('WHERE'
'USAGE_COUNT' '=' usageCount)?
showLike ::=
'LIKE' likePattern
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 5d195638f79..fa0b5b756db 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
@@ -62,5 +62,11 @@ public final class ShowStorageUnitsStatementAssert {
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 {
+ assertTrue(actual.getLikePattern().isPresent(),
assertContext.getText("Actual like pattern should exist."));
+ assertThat(assertContext.getText("Like pattern assertion error"),
actual.getLikePattern().get(), is(expected.getLikePattern()));
+ }
}
}
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 b38c756a9c3..973115ed06d 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
@@ -30,6 +30,9 @@ import javax.xml.bind.annotation.XmlAttribute;
@Setter
public final class ShowStorageUnitsStatementTestCase extends
DatabaseContainedTestCase {
+ @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 54c4ee5270b..335d57a8360 100644
--- a/test/it/parser/src/main/resources/case/rql/show.xml
+++ b/test/it/parser/src/main/resources/case/rql/show.xml
@@ -61,7 +61,7 @@
<show-shadow-rules sql-case-id="show-shadow-rules">
<database name="shadow_db" start-index="34" stop-index="42" />
</show-shadow-rules>
-
+
<show-shadow-table-rules sql-case-id="show-shadow-table-rules">
<database name="shadow_db" start-index="29" stop-index="37" />
</show-shadow-table-rules>
@@ -78,7 +78,7 @@
<show-shadow-algorithms sql-case-id="show-shadow-algorithms">
<database name="shadow_db" start-index="28" stop-index="36" />
</show-shadow-algorithms>
-
+
<show-default-shadow-algorithm sql-case-id="show-default-shadow-algorithm">
<database name="shadow_db" start-index="35" stop-index="43" />
</show-default-shadow-algorithm>
@@ -118,7 +118,7 @@
<show-unused-sharding-algorithms
sql-case-id="show-unused-sharding-algorithms">
<database name="databaseName" start-index="37" stop-index="48" />
</show-unused-sharding-algorithms>
-
+
<show-unused-sharding-key-generators
sql-case-id="show-unused-sharding-key-generators">
<database name="databaseName" start-index="41" stop-index="52" />
</show-unused-sharding-key-generators>
@@ -166,7 +166,7 @@
<count-mask-rule sql-case-id="count-mask-rule">
<database name="db1" start-index="21" stop-index="23" />
</count-mask-rule>
-
+
<count-broadcast-rule sql-case-id="count-broadcast-rule">
<database name="db1" start-index="26" stop-index="28" />
</count-broadcast-rule>
@@ -177,6 +177,10 @@
<database name="sharding_db" start-index="24" stop-index="34" />
</show-storage-units>
+ <show-storage-units sql-case-id="show-storage-units-like"
like-pattern="ds_%">
+ <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>
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 18e1c0a1545..44c6aac70b6 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
@@ -55,6 +55,7 @@
<sql-case id="count-broadcast-rule" value="COUNT BROADCAST RULE FROM db1"
db-types="ShardingSphere" />
<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" />