diff --git a/src/sqlparser.rs b/src/sqlparser.rs index dc1cc658..f3e2e5e0 100644 --- a/src/sqlparser.rs +++ b/src/sqlparser.rs @@ -1529,7 +1529,10 @@ impl Parser { } else if self.parse_keyword("VALUES") { SQLSetExpr::Values(self.parse_values()?) } else { - return self.expected("SELECT or a subquery in the query body", self.peek_token()); + return self.expected( + "SELECT, VALUES, or a subquery in the query body", + self.peek_token(), + ); }; loop { diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 83322350..a013d022 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -1990,7 +1990,7 @@ fn parse_exists_subquery() { let res = parse_sql_statements("SELECT EXISTS ("); assert_eq!( ParserError::ParserError( - "Expected SELECT or a subquery in the query body, found: EOF".to_string() + "Expected SELECT, VALUES, or a subquery in the query body, found: EOF".to_string() ), res.unwrap_err(), ); @@ -1998,7 +1998,7 @@ fn parse_exists_subquery() { let res = parse_sql_statements("SELECT EXISTS (NULL)"); assert_eq!( ParserError::ParserError( - "Expected SELECT or a subquery in the query body, found: NULL".to_string() + "Expected SELECT, VALUES, or a subquery in the query body, found: NULL".to_string() ), res.unwrap_err(), ); @@ -2399,7 +2399,7 @@ fn lateral_derived() { let res = parse_sql_statements(sql); assert_eq!( ParserError::ParserError( - "Expected SELECT or a subquery in the query body, found: b".to_string() + "Expected SELECT, VALUES, or a subquery in the query body, found: b".to_string() ), res.unwrap_err() );