Box Query in Cte (#572)

This commit is contained in:
Alex Qyoun-ae 2022-09-27 17:03:58 +04:00 committed by GitHub
parent 39761b0599
commit 0724ef13a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View file

@ -271,7 +271,7 @@ impl fmt::Display for With {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct Cte {
pub alias: TableAlias,
pub query: Query,
pub query: Box<Query>,
pub from: Option<Ident>,
}

View file

@ -3550,7 +3550,7 @@ impl<'a> Parser<'a> {
let mut cte = if self.parse_keyword(Keyword::AS) {
self.expect_token(&Token::LParen)?;
let query = self.parse_query()?;
let query = Box::new(self.parse_query()?);
self.expect_token(&Token::RParen)?;
let alias = TableAlias {
name,
@ -3565,7 +3565,7 @@ impl<'a> Parser<'a> {
let columns = self.parse_parenthesized_column_list(Optional)?;
self.expect_keyword(Keyword::AS)?;
self.expect_token(&Token::LParen)?;
let query = self.parse_query()?;
let query = Box::new(self.parse_query()?);
self.expect_token(&Token::RParen)?;
let alias = TableAlias { name, columns };
Cte {

View file

@ -3861,7 +3861,7 @@ fn parse_recursive_cte() {
quote_style: None,
}],
},
query: cte_query,
query: Box::new(cte_query),
from: None,
};
assert_eq!(with.cte_tables.first().unwrap(), &expected);