@@ -1017,28 +1017,23 @@ impl Parser {
1017
1017
ColumnOption :: Unique { is_primary : false }
1018
1018
} else if self . parse_keyword ( "REFERENCES" ) {
1019
1019
let foreign_table = self . parse_object_name ( ) ?;
1020
- let referred_columns =
1021
- self . parse_parenthesized_column_list ( Optional ) ?;
1020
+ let referred_columns = self . parse_parenthesized_column_list ( Optional ) ?;
1022
1021
let mut on_delete = None ;
1023
1022
let mut on_update = None ;
1024
1023
while self . parse_keyword ( "ON" ) {
1025
1024
if self . parse_keyword ( "DELETE" ) {
1026
1025
if on_delete == None {
1027
1026
on_delete = Some ( self . parse_reference_change_action ( ) ?) ;
1028
1027
} else {
1029
- return self . expected (
1030
- "ON DELETE option not more than once" ,
1031
- self . peek_token ( )
1032
- ) ;
1028
+ return self
1029
+ . expected ( "ON DELETE option not more than once" , self . peek_token ( ) ) ;
1033
1030
}
1034
1031
} else if self . parse_keyword ( "UPDATE" ) {
1035
1032
if on_update == None {
1036
1033
on_update = Some ( self . parse_reference_change_action ( ) ?) ;
1037
1034
} else {
1038
- return self . expected (
1039
- "ON UPDATE option not more than once" ,
1040
- self . peek_token ( )
1041
- ) ;
1035
+ return self
1036
+ . expected ( "ON UPDATE option not more than once" , self . peek_token ( ) ) ;
1042
1037
}
1043
1038
}
1044
1039
}
@@ -1061,13 +1056,21 @@ impl Parser {
1061
1056
}
1062
1057
1063
1058
pub fn parse_reference_change_action ( & mut self ) -> Result < ReferentialAction , ParserError > {
1064
- if self . parse_keyword ( "RESTRICT" ) { Ok ( ReferentialAction :: Restrict ) }
1065
- else if self . parse_keyword ( "CASCADE" ) { Ok ( ReferentialAction :: Cascade ) }
1066
- else if self . parse_keywords ( vec ! [ "SET" , "NULL" ] ) { Ok ( ReferentialAction :: SetNull ) }
1067
- else if self . parse_keywords ( vec ! [ "NO" , "ACTION" ] ) { Ok ( ReferentialAction :: NoAction ) }
1068
- else if self . parse_keywords ( vec ! [ "SET" , "DEFAULT" ] ) { Ok ( ReferentialAction :: SetDefault ) }
1069
- else {
1070
- self . expected ( "one of RESTRICT, CASCADE, SET NULL, NO ACTION or SET DEFAULT" , self . peek_token ( ) )
1059
+ if self . parse_keyword ( "RESTRICT" ) {
1060
+ Ok ( ReferentialAction :: Restrict )
1061
+ } else if self . parse_keyword ( "CASCADE" ) {
1062
+ Ok ( ReferentialAction :: Cascade )
1063
+ } else if self . parse_keywords ( vec ! [ "SET" , "NULL" ] ) {
1064
+ Ok ( ReferentialAction :: SetNull )
1065
+ } else if self . parse_keywords ( vec ! [ "NO" , "ACTION" ] ) {
1066
+ Ok ( ReferentialAction :: NoAction )
1067
+ } else if self . parse_keywords ( vec ! [ "SET" , "DEFAULT" ] ) {
1068
+ Ok ( ReferentialAction :: SetDefault )
1069
+ } else {
1070
+ self . expected (
1071
+ "one of RESTRICT, CASCADE, SET NULL, NO ACTION or SET DEFAULT" ,
1072
+ self . peek_token ( ) ,
1073
+ )
1071
1074
}
1072
1075
}
1073
1076
0 commit comments