Skip to content

Commit

Permalink
Moves return table columns parsing in parse_data_type.
Browse files Browse the repository at this point in the history
  • Loading branch information
remysaissy committed Jan 31, 2025
1 parent e35c3eb commit abecd1c
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions src/parser/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4563,14 +4563,7 @@ impl<'a> Parser<'a> {
self.expect_token(&Token::RParen)?;

let return_type = if self.parse_keyword(Keyword::RETURNS) {
if dialect_of!(self is PostgreSqlDialect | GenericDialect)
&& self.parse_keyword(Keyword::TABLE)
{
let columns = self.parse_parenthesized_columns()?;
Some(DataType::Table(columns))
} else {
Some(self.parse_data_type()?)
}
Some(self.parse_data_type()?)
} else {
None
};
Expand Down Expand Up @@ -8874,6 +8867,10 @@ impl<'a> Parser<'a> {
let _ = self.parse_keyword(Keyword::TYPE);
Ok(DataType::AnyType)
}
Keyword::TABLE => {
let columns = self.parse_returns_table_columns()?;
Ok(DataType::Table(columns))
}
_ => {
self.prev_token();
let type_name = self.parse_object_name(false)?;
Expand Down

0 comments on commit abecd1c

Please sign in to comment.