Skip to content

Commit 3ff2eec

Browse files
committed
add alter table settings
1 parent b5f3ed4 commit 3ff2eec

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/pegjs/oracle.pegjs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,7 +2032,7 @@ alter_table_stmt
20322032
memoptimize_read:memoptimize_read_clause? _
20332033
memoptimize_write:memoptimize_write_clause? _
20342034
body:alter_table_stmt_body?
2035-
settings:alter_table_stmt_settings? {
2035+
settings:alter_table_stmt_settings? _ SEMI_COLON {
20362036
return {
20372037
name,
20382038
table,
@@ -2043,9 +2043,20 @@ alter_table_stmt
20432043
}
20442044
}
20452045

2046-
// TODO:
20472046
alter_table_stmt_settings
2048-
= ""
2047+
= (_ x:alter_table_stmt_setting _ { return x; })+
2048+
2049+
alter_table_stmt_setting
2050+
= enable_disable_clause
2051+
/ action:(KW_ENABLE / KW_DISABLE) _
2052+
target:(
2053+
KW_TABLE _ KW_LOCK { return 'table lock'; } /
2054+
KW_ALL _ KW_TRIGGERS { return 'all triggers'; } /
2055+
KW_CONTAINER_MAP /
2056+
KW_CONTAINERS_DEFAULT
2057+
) {
2058+
return { action, target };
2059+
}
20492060
20502061
alter_table_stmt_body
20512062
// = alter_table_properties
@@ -2484,6 +2495,10 @@ KW_PURGE = 'purge'i !ident_start { return '
24842495
KW_ALTER = 'alter'i !ident_start { return 'alter'; }
24852496
KW_RENAME = 'rename'i !ident_start { return 'rename'; }
24862497
KW_ONLINE = 'online'i !ident_start { return 'online'; }
2498+
KW_LOCK = 'lock'i !ident_start { return 'lock'; }
2499+
KW_TRIGGERS = 'triggers'i !ident_start { return 'triggers'; }
2500+
KW_CONTAINER_MAP = 'container_map'i !ident_start { return 'container_map'; }
2501+
KW_CONTAINERS_DEFAULT = 'containers_default'i !ident_start { return 'containers_default'; }
24872502
24882503
KW_VARYING = 'varying'i !ident_start { return 'varying'; }
24892504
KW_VARCHAR = 'varchar'i !ident_start { return 'varchar'; }

0 commit comments

Comments
 (0)