Skip to content

Commit 7c53aeb

Browse files
committed
Support COMMENT ON POLICY
1 parent 34c95b7 commit 7c53aeb

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

src/cst/Comment.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ type CommentTarget =
3131
| CommentTargetForeignTable
3232
| CommentTargetIndex
3333
| CommentTargetMaterializedView
34+
| CommentTargetPolicy
3435
| CommentTargetLanguage
3536
| CommentTargetPublication
3637
| CommentTargetRole
@@ -141,6 +142,14 @@ export interface CommentTargetMaterializedView extends BaseNode {
141142
name: EntityName;
142143
}
143144

145+
export interface CommentTargetPolicy extends BaseNode {
146+
type: "comment_target_policy";
147+
policyKw: Keyword<"POLICY">;
148+
name: EntityName;
149+
onKw: Keyword<"ON">;
150+
tableName: EntityName;
151+
}
152+
144153
export interface CommentTargetLanguage extends BaseNode {
145154
type: "comment_target_language";
146155
languageKw:

src/parser.pegjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6057,6 +6057,9 @@ comment_target
60576057
/ kw:(MATERIALIZED __ VIEW __) name:entity_name {
60586058
return loc({ type: "comment_target_materialized_view", materializedViewKw: read(kw), name });
60596059
}
6060+
/ kw:(POLICY __) name:(entity_name __) onKw:(ON __) tableName:entity_name {
6061+
return loc({ type: "comment_target_policy", policyKw: read(kw), name: read(name), onKw: read(onKw), tableName });
6062+
}
60606063
/ kw:(LANGUAGE __ / PROCEDURAL __ LANGUAGE __) name:entity_name {
60616064
return loc({ type: "comment_target_language", languageKw: read(kw), name });
60626065
}

src/showNode/comment.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ export const commentMap: FullTransformMap<string, AllCommentNodes> = {
3232
comment_target_index: (node) => show([node.indexKw, node.name]),
3333
comment_target_materialized_view: (node) =>
3434
show([node.materializedViewKw, node.name]),
35+
comment_target_policy: (node) =>
36+
show([node.policyKw, node.name, node.onKw, node.tableName]),
3537
comment_target_language: (node) => show([node.languageKw, node.name]),
3638
comment_target_publication: (node) => show([node.publicationKw, node.name]),
3739
comment_target_role: (node) => show([node.roleKw, node.name]),

test/postgresql/comment.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ describe("COMMENT ON", () => {
1717
"FOREIGN TABLE my_foreign_table",
1818
"INDEX my_index",
1919
"MATERIALIZED VIEW my_mat_view",
20+
"POLICY my_policy ON my_table",
2021
"LANGUAGE my_language",
2122
"PROCEDURAL LANGUAGE my_language",
2223
"PUBLICATION my_publication",

0 commit comments

Comments
 (0)