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>