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" />

Reply via email to