@@ -132,7 +132,7 @@ fn delim_fx_args(
132132}
133133
134134fn function_call_without_parens (
135- dialect : Dialect ,
135+ _dialect : Dialect ,
136136) -> impl Fn ( LocatedSpan < & [ u8 ] > ) -> NomSqlResult < & [ u8 ] , FunctionExpr > {
137137 move |i| {
138138 // Some functions can be called without parentheses, in both mysql and postgres
@@ -146,11 +146,10 @@ fn function_call_without_parens(
146146 tag_no_case ( "localtime" ) ,
147147 ) ) ,
148148 |n : LocatedSpan < & [ u8 ] > | {
149- let s = String :: from_utf8 ( n. to_vec ( ) ) . expect ( "Only constant string literals" ) ;
150- match dialect {
151- Dialect :: MySQL => s. into ( ) ,
152- Dialect :: PostgreSQL => s. to_lowercase ( ) . into ( ) ,
153- }
149+ String :: from_utf8 ( n. to_vec ( ) )
150+ . expect ( "Only constant string literals" )
151+ . to_lowercase ( )
152+ . into ( )
154153 } ,
155154 ) ( i) ?;
156155
@@ -317,7 +316,13 @@ fn function_call(
317316 let ( i, name) = dialect. function_identifier ( ) ( i) ?;
318317 let ( i, _) = whitespace0 ( i) ?;
319318 let ( i, arguments) = delim_fx_args ( dialect) ( i) ?;
320- Ok ( ( i, FunctionExpr :: Call { name, arguments } ) )
319+ Ok ( (
320+ i,
321+ FunctionExpr :: Call {
322+ name : name. to_lowercase ( ) . into ( ) ,
323+ arguments,
324+ } ,
325+ ) )
321326 }
322327}
323328
@@ -1027,7 +1032,7 @@ mod tests {
10271032 assert_eq ! (
10281033 res,
10291034 FunctionExpr :: Call {
1030- name: "NOW " . into( ) ,
1035+ name: "now " . into( ) ,
10311036 arguments: vec![ ]
10321037 }
10331038 ) ;
@@ -1138,7 +1143,7 @@ mod tests {
11381143
11391144 #[ test]
11401145 fn parse_extract_expr( ) {
1141- let expr = format!( "EXTRACT ({} FROM \" col\" )" , $field_expr) ;
1146+ let expr = format!( "extract ({} FROM \" col\" )" , $field_expr) ;
11421147 assert_eq!(
11431148 test_parse!( extract( Dialect :: PostgreSQL ) , expr. as_bytes( ) ) ,
11441149 FunctionExpr :: Extract {
@@ -1153,7 +1158,7 @@ mod tests {
11531158
11541159 #[ test]
11551160 fn format_round_trip( ) {
1156- let expected = format!( "EXTRACT ({} FROM \" col\" )" , $field_expr) ;
1161+ let expected = format!( "extract ({} FROM \" col\" )" , $field_expr) ;
11571162 let actual = test_parse!( extract( Dialect :: PostgreSQL ) , expected. as_bytes( ) )
11581163 . display( Dialect :: PostgreSQL )
11591164 . to_string( ) ;
@@ -1194,7 +1199,7 @@ mod tests {
11941199 fn test ( dialect : Dialect , func_name : & str , val : & str , collate : Option < & str > ) {
11951200 let expected = format ! (
11961201 "{}(\' {}\' {})" ,
1197- func_name. to_uppercase ( ) ,
1202+ func_name,
11981203 val,
11991204 if let Some ( collation_name) = collate {
12001205 format!( " COLLATE \" {}\" " , collation_name)
@@ -1209,7 +1214,7 @@ mod tests {
12091214 }
12101215 . display ( dialect)
12111216 . to_string ( ) ;
1212- assert_eq ! ( expected, actual) ;
1217+ assert_eq ! ( expected, actual, "dialect: {}" , dialect ) ;
12131218 }
12141219
12151220 test ( Dialect :: PostgreSQL , "lower" , "AbC" , Some ( "es_ES" ) ) ;
0 commit comments