Skip to content

Commit 93052b3

Browse files
authored
fix: properly split triggers with or (#228)
1 parent 3f3850b commit 93052b3

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

crates/pglt_statement_splitter/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,13 @@ mod tests {
154154
155155
create trigger default_key before insert on appointment_type for each row when (new.key is null) execute procedure default_key ();
156156
157-
create trigger default_key before insert on appointment_status for each row when (new.key is null) execute procedure default_key ();
157+
create trigger default_key before insert or update on appointment_status for each row when (new.key is null) execute procedure default_key ();
158158
159159
alter table deal_type add column key text not null;
160160
")
161161
.expect_statements(vec!["alter table appointment_status add constraint valid_key check (private.strip_special_chars(key) = key and length(key) > 0 and length(key) < 60);",
162162
"create trigger default_key before insert on appointment_type for each row when (new.key is null) execute procedure default_key ();",
163-
"create trigger default_key before insert on appointment_status for each row when (new.key is null) execute procedure default_key ();",
163+
"create trigger default_key before insert or update on appointment_status for each row when (new.key is null) execute procedure default_key ();",
164164
"alter table deal_type add column key text not null;",
165165
]);
166166
}

crates/pglt_statement_splitter/src/parser/common.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ pub(crate) fn unknown(p: &mut Parser, exclude: &[SyntaxKind]) {
149149
// for create trigger
150150
SyntaxKind::Before,
151151
SyntaxKind::After,
152+
// e.g. on insert or delete
153+
SyntaxKind::Or,
152154
// for create rule
153155
SyntaxKind::On,
154156
// for create rule

0 commit comments

Comments
 (0)