Skip to content

Commit 12d625c

Browse files
committed
[PlSql] Support SUBPARTITION and CHECK clauses when altering table
1 parent 30c6ea0 commit 12d625c

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

sql/plsql/PlSqlParser.g4

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4006,7 +4006,9 @@ deallocate_unused_clause
40064006
;
40074007

40084008
shrink_clause
4009-
: SHRINK SPACE_KEYWORD COMPACT? CASCADE?
4009+
// CHECK is an internal Oracle option
4010+
// It is used to check for proper segment type and segment attributes to allow shrink
4011+
: SHRINK SPACE_KEYWORD (COMPACT | CASCADE | CHECK)?
40104012
;
40114013

40124014
records_per_block_clause
@@ -4792,7 +4794,7 @@ merge_table_partition
47924794

47934795
modify_table_partition
47944796
: MODIFY (
4795-
PARTITION partition_name ((ADD | DROP) list_values_clause)? (ADD range_subpartition_desc)? (
4797+
(PARTITION | SUBPARTITION) partition_name ((ADD | DROP) list_values_clause)? (ADD range_subpartition_desc)? (
47964798
REBUILD? UNUSABLE LOCAL INDEXES
47974799
)? shrink_clause?
47984800
| range_partitions

sql/plsql/examples/alter_table.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,5 @@ UPDATE INDEXES (COST_IX (PARTITION C_P1 TABLESPACE TBS_02, PARTITION C_P2 TABLES
212212
ALTER TABLE "AB01"."SMOSTAMM" ADD CONSTRAINT "CC_SMOSTAMM_KRAB" CHECK ((KRAB >= 0. ) AND (KRAB <= 100. )) ENABLE;
213213

214214
ALTER TABLE "ME_CARRIER_HISTORY" ADD CONSTRAINT "CHECK_COMM_TYPE" CHECK (communication_type in('EDI','NON-EDI','API')) NOVALIDATE PARALLEL;
215+
216+
ALTER TABLE NAV.SPAC_AUT_APOLICE MODIFY SUBPARTITION P12345 SHRINK SPACE CHECK;

0 commit comments

Comments
 (0)