File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -970,6 +970,29 @@ mod tests {
970
970
assert_eq ! ( res. unwrap( ) . 1 , expected_stmt) ;
971
971
}
972
972
973
+ #[ test]
974
+ fn generic_function_query ( ) {
975
+ let qstring = "SELECT coalesce(a, b,c),d FROM sometable;" ;
976
+
977
+ let res = selection ( qstring. as_bytes ( ) ) ;
978
+ let agg_expr = FunctionExpression :: CountStar ;
979
+ let expected_stmt = SelectStatement {
980
+ tables : vec ! [ Table :: from( "sometable" ) ] ,
981
+ fields : vec ! [ FieldDefinitionExpression :: Col ( Column {
982
+ name: String :: from( "count(*)" ) ,
983
+ alias: None ,
984
+ table: None ,
985
+ function: Some ( Box :: new( agg_expr) ) ,
986
+ } ) , FieldDefinitionExpression :: Col ( Column {
987
+ name: String :: from( "d" ) ,
988
+ ..Default :: default ( )
989
+ } ) ] ,
990
+ ..Default :: default ( )
991
+ } ;
992
+ assert_eq ! ( res. unwrap( ) . 1 , expected_stmt) ;
993
+ }
994
+
995
+
973
996
#[ test]
974
997
fn moderately_complex_selection ( ) {
975
998
let qstring = "SELECT * FROM item, author WHERE item.i_a_id = author.a_id AND \
You can’t perform that action at this time.
0 commit comments