Skip to content

Commit 1d52e54

Browse files
h3n4lclaude
andauthored
fix(plsql): add MAXSIZE option to STORAGE clause grammar (#65)
The Oracle parser did not recognize MAXSIZE in STORAGE clauses, causing syntax errors for valid DDL like STORAGE(NEXT 1M MAXSIZE UNLIMITED). Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3b4d6e7 commit 1d52e54

File tree

3 files changed

+13421
-13321
lines changed

3 files changed

+13421
-13321
lines changed

plsql/PlSqlParser.g4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3769,6 +3769,7 @@ storage_clause
37693769
| FLASH_CACHE (KEEP | NONE | DEFAULT)
37703770
| CELL_FLASH_CACHE (KEEP | NONE | DEFAULT)
37713771
| ENCRYPT
3772+
| MAXSIZE (UNLIMITED | size_clause)
37723773
)+
37733774
RIGHT_PAREN
37743775
;

plsql/examples/create_table.sql

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,3 +394,51 @@ CREATE TABLE print_media_demo
394394
NESTED TABLE ad_textdocs_ntab STORE AS nt_p2
395395
)
396396
TABLESPACE tbs_03;
397+
398+
CREATE TABLE RPT.NN_CN_Q384_B1_RSLT
399+
(
400+
TXN_DATE DATE,
401+
ETL_DATE DATE,
402+
ID_RSLT NUMBER,
403+
CN_CAP1 VARCHAR2(100),
404+
CN_CAP2 VARCHAR2(100),
405+
TEN_CN VARCHAR2(4000),
406+
TEN_PGD VARCHAR2(4000),
407+
STT_AO NUMBER,
408+
FORMAT_ROW VARCHAR2(50),
409+
STT VARCHAR2(1000),
410+
TEN_DV VARCHAR2(4000),
411+
HDV NUMBER,
412+
DUNO NUMBER,
413+
BAO_LANH NUMBER,
414+
LC NUMBER,
415+
NOXAU NUMBER,
416+
TL_NOXAU NUMBER
417+
) ROW STORE COMPRESS ADVANCED
418+
TABLESPACE ARCHIVE_TBS
419+
PCTUSED 0
420+
PCTFREE 10
421+
INITRANS 1
422+
MAXTRANS 255
423+
STORAGE (
424+
BUFFER_POOL DEFAULT
425+
)
426+
NOLOGGING
427+
PARTITION BY RANGE (TXN_DATE)
428+
INTERVAL (NUMTODSINTERVAL(1,'DAY'))
429+
(
430+
PARTITION PART_01 VALUES LESS THAN (TO_DATE(' 2012-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
431+
NOLOGGING
432+
ROW STORE COMPRESS ADVANCED
433+
TABLESPACE ARCHIVE_TBS
434+
PCTFREE 10
435+
INITRANS 1
436+
MAXTRANS 255
437+
STORAGE (
438+
INITIAL 8M
439+
NEXT 1M
440+
MAXSIZE UNLIMITED
441+
MINEXTENTS 1
442+
MAXEXTENTS UNLIMITED
443+
BUFFER_POOL DEFAULT
444+
));

0 commit comments

Comments
 (0)