This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 bbde4e4e3a7 Enhance Oracle resizeDiskClause syntax (#27500)
bbde4e4e3a7 is described below

commit bbde4e4e3a750a09af4c118af440297ce3b15078
Author: niu niu <[email protected]>
AuthorDate: Thu Jul 27 13:55:50 2023 +0800

    Enhance Oracle resizeDiskClause syntax (#27500)
---
 .../sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4 | 2 +-
 test/it/parser/src/main/resources/case/ddl/alter-diskgroup.xml        | 4 ++++
 .../parser/src/main/resources/sql/supported/ddl/alter-diskgroup.xml   | 4 ++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
index 4d552853f6e..3b4b4ff1cf5 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
@@ -2829,7 +2829,7 @@ dropDiskClause
     ;
 
 resizeDiskClause
-    : RESIZE ALL (SIZE sizeClause)?
+    : RESIZE (ALL | DISKS IN FAILGROUP failgroupName) (SIZE sizeClause)?
     ;
 
 rebalanceDiskgroupClause
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-diskgroup.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-diskgroup.xml
index 831fce52d82..f46dfbedcc2 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-diskgroup.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-diskgroup.xml
@@ -34,8 +34,12 @@
     <alter-diskgroup 
sql-case-id="alter_diskgroup_offline_disk_drop_after_time_unit_m" />
     <alter-diskgroup sql-case-id="alter_diskgroup_set_attribute_time_h" />
     <alter-diskgroup sql-case-id="alter_diskgroup_set_attribute_time_m" />
+    <alter-diskgroup sql-case-id="alter_diskgroup_set_attribute_1" />
+    <alter-diskgroup sql-case-id="alter_diskgroup_set_attribute_2" />
+    <alter-diskgroup sql-case-id="alter_diskgroup_set_attribute_3" />
     <alter-diskgroup 
sql-case-id="alter_diskgroup_set_permission_owner_group_other_for_file" />
     <alter-diskgroup 
sql-case-id="alter_diskgroup_set_ownership_owner_group_for_file" />
     <alter-diskgroup 
sql-case-id="alter_diskgroup_add_template_attribute_hot_hirrorhot" />
     <alter-diskgroup sql-case-id="alter_diskgroup_modify_drop_member" />
+    <alter-diskgroup 
sql-case-id="alter_diskgroup_resize_disks_in_failgroup_size_g" />
 </sql-parser-test-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-diskgroup.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-diskgroup.xml
index 47fc3d36f42..da6659a243f 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-diskgroup.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-diskgroup.xml
@@ -34,8 +34,12 @@
     <sql-case id="alter_diskgroup_offline_disk_drop_after_time_unit_m" 
value="ALTER DISKGROUP data OFFLINE DISK DATA_001 DROP AFTER 5m" 
db-types="Oracle" />
     <sql-case id="alter_diskgroup_set_attribute_time_h" value="ALTER DISKGROUP 
data SET ATTRIBUTE 'disk_repair_time' = '4.5h'" db-types="Oracle" />
     <sql-case id="alter_diskgroup_set_attribute_time_m" value="ALTER DISKGROUP 
data SET ATTRIBUTE 'disk_repair_time' = '270m'" db-types="Oracle" />
+    <sql-case id="alter_diskgroup_set_attribute_1" value="ALTER DISKGROUP 
data1 SET ATTRIBUTE 'access_control.enabled' = 'true'" db-types="Oracle" />
+    <sql-case id="alter_diskgroup_set_attribute_2" value="ALTER DISKGROUP 
data1 SET ATTRIBUTE 'access_control.umask' = '026'" db-types="Oracle" />
+    <sql-case id="alter_diskgroup_set_attribute_3" value="ALTER DISKGROUP 
data3 SET ATTRIBUTE 'compatible.asm' = '11.2'" db-types="Oracle" />
     <sql-case id="alter_diskgroup_set_permission_owner_group_other_for_file" 
value="ALTER DISKGROUP data SET PERMISSION OWNER=read write, GROUP=read only, 
OTHER=none FOR FILE '+data/controlfile.f'" db-types="Oracle" />
     <sql-case id="alter_diskgroup_set_ownership_owner_group_for_file" 
value="ALTER DISKGROUP data SET OWNERSHIP OWNER='oracle1', GROUP='test_grp1' 
FOR FILE '+data/controlfile.f'" db-types="Oracle" />
     <sql-case id="alter_diskgroup_add_template_attribute_hot_hirrorhot" 
value="ALTER DISKGROUP data ADD TEMPLATE datafile_hot ATTRIBUTE (HOT 
MIRRORHOT)" db-types="Oracle" />
     <sql-case id="alter_diskgroup_modify_drop_member" value="ALTER DISKGROUP 
data MODIFY USERGROUP 'test_grp2' DROP MEMBER 'oracle2'" db-types="Oracle" />
+    <sql-case id="alter_diskgroup_resize_disks_in_failgroup_size_g" 
value="ALTER DISKGROUP data1 RESIZE DISKS IN FAILGROUP failgrp1 SIZE 100G" 
db-types="Oracle" />
 </sql-cases>

Reply via email to