@@ -1002,7 +1002,7 @@ fn parse_select_wildcard() {
10021002 let select = verified_only_select ( sql) ;
10031003 assert_eq ! (
10041004 & SelectItem :: QualifiedWildcard (
1005- SelectItemQualifiedWildcardKind :: ObjectName ( ObjectName :: from( vec![ Ident :: new( "foo" ) ] ) ) ,
1005+ ObjectName :: from( vec![ Ident :: new( "foo" ) ] ) ,
10061006 WildcardAdditionalOptions :: default ( )
10071007 ) ,
10081008 only( & select. projection)
@@ -1012,10 +1012,7 @@ fn parse_select_wildcard() {
10121012 let select = verified_only_select ( sql) ;
10131013 assert_eq ! (
10141014 & SelectItem :: QualifiedWildcard (
1015- SelectItemQualifiedWildcardKind :: ObjectName ( ObjectName :: from( vec![
1016- Ident :: new( "myschema" ) ,
1017- Ident :: new( "mytable" ) ,
1018- ] ) ) ,
1015+ ObjectName :: from( vec![ Ident :: new( "myschema" ) , Ident :: new( "mytable" ) , ] ) ,
10191016 WildcardAdditionalOptions :: default ( ) ,
10201017 ) ,
10211018 only( & select. projection)
@@ -1060,84 +1057,6 @@ fn parse_column_aliases() {
10601057 one_statement_parses_to ( "SELECT a.col + 1 newname FROM foo AS a" , sql) ;
10611058}
10621059
1063- #[ test]
1064- fn parse_select_expr_star ( ) {
1065- let dialects = all_dialects_where ( |d| d. supports_select_expr_star ( ) ) ;
1066-
1067- // Identifier wildcard expansion.
1068- let select = dialects. verified_only_select ( "SELECT foo.bar.* FROM T" ) ;
1069- let SelectItem :: QualifiedWildcard ( SelectItemQualifiedWildcardKind :: ObjectName ( object_name) , _) =
1070- only ( & select. projection )
1071- else {
1072- unreachable ! (
1073- "expected wildcard select item: got {:?}" ,
1074- & select. projection[ 0 ]
1075- )
1076- } ;
1077- assert_eq ! (
1078- & ObjectName :: from(
1079- [ "foo" , "bar" ]
1080- . into_iter( )
1081- . map( Ident :: new)
1082- . collect:: <Vec <_>>( )
1083- ) ,
1084- object_name
1085- ) ;
1086-
1087- // Arbitrary compound expression with wildcard expansion.
1088- let select = dialects. verified_only_select ( "SELECT foo - bar.* FROM T" ) ;
1089- let SelectItem :: QualifiedWildcard (
1090- SelectItemQualifiedWildcardKind :: Expr ( Expr :: BinaryOp { left, op, right } ) ,
1091- _,
1092- ) = only ( & select. projection )
1093- else {
1094- unreachable ! (
1095- "expected wildcard select item: got {:?}" ,
1096- & select. projection[ 0 ]
1097- )
1098- } ;
1099- let ( Expr :: Identifier ( left) , BinaryOperator :: Minus , Expr :: Identifier ( right) ) =
1100- ( left. as_ref ( ) , op, right. as_ref ( ) )
1101- else {
1102- unreachable ! ( "expected binary op expr: got {:?}" , & select. projection[ 0 ] )
1103- } ;
1104- assert_eq ! ( & Ident :: new( "foo" ) , left) ;
1105- assert_eq ! ( & Ident :: new( "bar" ) , right) ;
1106-
1107- // Arbitrary expression wildcard expansion.
1108- let select = dialects. verified_only_select ( "SELECT myfunc().foo.* FROM T" ) ;
1109- let SelectItem :: QualifiedWildcard (
1110- SelectItemQualifiedWildcardKind :: Expr ( Expr :: CompoundFieldAccess { root, access_chain } ) ,
1111- _,
1112- ) = only ( & select. projection )
1113- else {
1114- unreachable ! ( "expected wildcard expr: got {:?}" , & select. projection[ 0 ] )
1115- } ;
1116- assert ! ( matches!( root. as_ref( ) , Expr :: Function ( _) ) ) ;
1117- assert_eq ! ( 1 , access_chain. len( ) ) ;
1118- assert ! ( matches!(
1119- & access_chain[ 0 ] ,
1120- AccessExpr :: Dot ( Expr :: Identifier ( _) )
1121- ) ) ;
1122-
1123- dialects. one_statement_parses_to (
1124- "SELECT 2. * 3 FROM T" ,
1125- #[ cfg( feature = "bigdecimal" ) ]
1126- "SELECT 2 * 3 FROM T" ,
1127- #[ cfg( not( feature = "bigdecimal" ) ) ]
1128- "SELECT 2. * 3 FROM T" ,
1129- ) ;
1130- dialects. verified_only_select ( "SELECT myfunc().* FROM T" ) ;
1131- dialects. verified_only_select ( "SELECT myfunc().* EXCEPT (foo) FROM T" ) ;
1132-
1133- // Invalid
1134- let res = dialects. parse_sql_statements ( "SELECT foo.*.* FROM T" ) ;
1135- assert_eq ! (
1136- ParserError :: ParserError ( "Expected: end of statement, found: ." . to_string( ) ) ,
1137- res. unwrap_err( )
1138- ) ;
1139- }
1140-
11411060#[ test]
11421061fn test_eof_after_as ( ) {
11431062 let res = parse_sql_statements ( "SELECT foo AS" ) ;
0 commit comments