Skip to content

Commit 0c4ab8d

Browse files
wow
1 parent 1fea886 commit 0c4ab8d

File tree

1 file changed

+36
-59
lines changed

1 file changed

+36
-59
lines changed

crates/pgt_treesitter_grammar/grammar.js

Lines changed: 36 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,7 @@ module.exports = grammar({
887887
seq($.keyword_role, $.role_identifier),
888888
// TODO: routine
889889
// TODO: rule
890-
seq($.keyword_schema, $.any_identifier),
890+
seq($.keyword_schema, $.schema_identifier),
891891
seq($.keyword_sequence, $.object_reference),
892892
// TODO: server
893893
// TODO: statistics
@@ -1051,20 +1051,7 @@ module.exports = grammar({
10511051
)
10521052
),
10531053

1054-
policy_to_role: ($) =>
1055-
seq(
1056-
$.keyword_to,
1057-
comma_list(
1058-
choice(
1059-
$.any_identifier,
1060-
$.keyword_public,
1061-
$.keyword_current_user,
1062-
$.keyword_current_role,
1063-
$.keyword_session_user
1064-
),
1065-
true
1066-
)
1067-
),
1054+
policy_to_role: ($) => seq($.keyword_to, $.role_specification),
10681055

10691056
drop_policy: ($) =>
10701057
seq(
@@ -1434,20 +1421,27 @@ module.exports = grammar({
14341421
seq(
14351422
optional($._if_not_exists),
14361423
$.any_identifier,
1437-
optional(seq($.keyword_authorization, $.any_identifier))
1424+
optional(seq($.keyword_authorization, $.role_specification))
14381425
),
1439-
seq($.keyword_authorization, $.any_identifier)
1426+
seq($.keyword_authorization, $.role_specification)
14401427
)
14411428
)
14421429
),
14431430

14441431
_with_settings: ($) =>
1445-
seq(
1446-
field("name", $.any_identifier),
1447-
optional("="),
1448-
field(
1449-
"value",
1450-
choice($.any_identifier, alias($._single_quote_string, $.literal))
1432+
choice(
1433+
seq(
1434+
$.keyword_owner,
1435+
optional("="),
1436+
choice($.role_identifier, $.keyword_default)
1437+
),
1438+
seq(
1439+
field("name", $.any_identifier),
1440+
optional("="),
1441+
field(
1442+
"value",
1443+
choice($.any_identifier, alias($._single_quote_string, $.literal))
1444+
)
14511445
)
14521446
),
14531447

@@ -1495,13 +1489,8 @@ module.exports = grammar({
14951489

14961490
_user_access_role_config: ($) =>
14971491
seq(
1498-
choice(
1499-
seq(optional($.keyword_in), $.keyword_role),
1500-
seq($.keyword_in, $.keyword_group),
1501-
$.keyword_admin,
1502-
$.keyword_user
1503-
),
1504-
comma_list($.any_identifier, true)
1492+
choice(seq(optional($.keyword_in), $.keyword_role), $.keyword_admin),
1493+
comma_list($.role_identifier, true)
15051494
),
15061495

15071496
create_sequence: ($) =>
@@ -1558,7 +1547,7 @@ module.exports = grammar({
15581547
optional($._if_not_exists),
15591548
$.any_identifier,
15601549
optional($.keyword_with),
1561-
optional(seq($.keyword_schema, $.any_identifier)),
1550+
optional(seq($.keyword_schema, $.schema_identifier)),
15621551
optional(
15631552
seq(
15641553
$.keyword_version,
@@ -1603,14 +1592,7 @@ module.exports = grammar({
16031592
seq(
16041593
$.keyword_for,
16051594
optional($.keyword_each),
1606-
choice($.keyword_row, $.keyword_statement),
1607-
// mariadb
1608-
optional(
1609-
seq(
1610-
choice($.keyword_follows, $.keyword_precedes),
1611-
$.any_identifier
1612-
)
1613-
)
1595+
choice($.keyword_row, $.keyword_statement)
16141596
),
16151597
seq($.keyword_when, wrapped_in_parenthesis($._expression))
16161598
)
@@ -1817,7 +1799,7 @@ module.exports = grammar({
18171799
seq(
18181800
$.keyword_alter,
18191801
$.keyword_schema,
1820-
$.any_identifier,
1802+
$.schema_identifier,
18211803
choice($.keyword_rename, $.keyword_owner),
18221804
$.keyword_to,
18231805
$.any_identifier
@@ -1853,7 +1835,7 @@ module.exports = grammar({
18531835
seq(
18541836
$.keyword_alter,
18551837
choice($.keyword_role, $.keyword_group, $.keyword_user),
1856-
choice($.any_identifier, $.keyword_all),
1838+
choice($.role_identifier, $.keyword_all),
18571839
choice(
18581840
$.rename_object,
18591841
seq(optional($.keyword_with), repeat($._role_options)),
@@ -1963,7 +1945,7 @@ module.exports = grammar({
19631945
$.keyword_set,
19641946
choice(
19651947
choice($.keyword_logged, $.keyword_unlogged),
1966-
seq($.keyword_schema, $.any_identifier)
1948+
seq($.keyword_schema, $.schema_identifier)
19671949
)
19681950
)
19691951
)
@@ -1973,7 +1955,7 @@ module.exports = grammar({
19731955
seq(
19741956
$.keyword_alter,
19751957
$.keyword_type,
1976-
$.any_identifier,
1958+
$.type_identifier,
19771959
choice(
19781960
$.change_ownership,
19791961
$.set_schema,
@@ -2071,7 +2053,7 @@ module.exports = grammar({
20712053
$.keyword_drop,
20722054
$.keyword_schema,
20732055
optional($._if_exists),
2074-
$.any_identifier,
2056+
$.schema_identifier,
20752057
optional($._drop_behavior)
20762058
),
20772059

@@ -2090,7 +2072,7 @@ module.exports = grammar({
20902072
$.keyword_drop,
20912073
choice($.keyword_group, $.keyword_role, $.keyword_user),
20922074
optional($._if_exists),
2093-
$.any_identifier
2075+
$.role_identifier
20942076
),
20952077

20962078
drop_type: ($) =>
@@ -2145,7 +2127,7 @@ module.exports = grammar({
21452127
seq($.keyword_set, $.keyword_schema, $.schema_identifier),
21462128

21472129
change_ownership: ($) =>
2148-
seq($.keyword_owner, $.keyword_to, $.any_identifier),
2130+
seq($.keyword_owner, $.keyword_to, $.role_specification),
21492131

21502132
object_id: ($) =>
21512133
seq(
@@ -2452,11 +2434,7 @@ module.exports = grammar({
24522434
// Spark SQL
24532435
$.keyword_partition
24542436
),
2455-
choice(
2456-
paren_list($.any_identifier, false), // postgres & Impala (CTAS)
2457-
$.column_definitions, // impala/hive external tables
2458-
paren_list($._key_value_pair, true) // Spark SQL
2459-
)
2437+
paren_list($.any_identifier, false)
24602438
),
24612439

24622440
_key_value_pair: ($) =>
@@ -3038,18 +3016,17 @@ module.exports = grammar({
30383016
seq(
30393017
$.grantable_targets,
30403018
choice(
3041-
$.grantable_on_table,
3042-
$.grantable_on_function,
3019+
seq($.grantable_on_table, $.table_identifier),
3020+
seq($.grantable_on_function, $.function_identifier),
30433021
$.grantable_on_all
30443022
)
3045-
),
3046-
$.any_identifier
3023+
)
30473024
),
30483025

30493026
grantable_targets: ($) =>
30503027
choice(
3051-
seq($._grantable, comma_list($.any_identifier, false)),
3052-
comma_list($.any_identifier, true)
3028+
seq($._grantable, comma_list($.column_identifier, false)),
3029+
comma_list($.role_identifier, true)
30533030
),
30543031

30553032
_grantable: ($) =>
@@ -3106,12 +3083,12 @@ module.exports = grammar({
31063083
),
31073084
$.keyword_in,
31083085
$.keyword_schema,
3109-
comma_list($.any_identifier, true)
3086+
comma_list($.schema_identifier, true)
31103087
),
31113088

31123089
role_specification: ($) =>
31133090
choice(
3114-
seq(optional($.keyword_group), $.any_identifier),
3091+
seq(optional($.keyword_group), $.role_identifier),
31153092
$.keyword_public,
31163093
$.keyword_current_role,
31173094
$.keyword_current_user,

0 commit comments

Comments
 (0)