File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
crates/pglt_statement_splitter/src Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -148,6 +148,23 @@ mod tests {
148148 . expect_statements ( vec ! [ "select case when select 2 then 1 else 0 end" ] ) ;
149149 }
150150
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+
151168 #[ test]
152169 #[ timeout( 1000 ) ]
153170 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]) {
147147 let prev = p. look_back ( ) . map ( |t| t. kind ) ;
148148 if [
149149 // for create trigger
150+ SyntaxKind :: Before ,
150151 SyntaxKind :: After ,
151152 // for create rule
152153 SyntaxKind :: On ,
You can’t perform that action at this time.
0 commit comments