File tree 2 files changed +18
-0
lines changed
crates/pglt_statement_splitter/src
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -148,6 +148,23 @@ mod tests {
148
148
. expect_statements ( vec ! [ "select case when select 2 then 1 else 0 end" ] ) ;
149
149
}
150
150
151
+ #[ test]
152
+ fn create_trigger ( ) {
153
+ Tester :: from ( "alter table appointment_status add constraint valid_key check (private.strip_special_chars(key) = key and length(key) > 0 and length(key) < 60);
154
+
155
+ create trigger default_key before insert on appointment_type for each row when (new.key is null) execute procedure default_key ();
156
+
157
+ create trigger default_key before insert on appointment_status for each row when (new.key is null) execute procedure default_key ();
158
+
159
+ alter table deal_type add column key text not null;
160
+ " )
161
+ . 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);" ,
162
+ "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 ();" ,
164
+ "alter table deal_type add column key text not null;" ,
165
+ ] ) ;
166
+ }
167
+
151
168
#[ test]
152
169
#[ timeout( 1000 ) ]
153
170
fn simple_select ( ) {
Original file line number Diff line number Diff line change @@ -147,6 +147,7 @@ pub(crate) fn unknown(p: &mut Parser, exclude: &[SyntaxKind]) {
147
147
let prev = p. look_back ( ) . map ( |t| t. kind ) ;
148
148
if [
149
149
// for create trigger
150
+ SyntaxKind :: Before ,
150
151
SyntaxKind :: After ,
151
152
// for create rule
152
153
SyntaxKind :: On ,
You can’t perform that action at this time.
0 commit comments