Skip to content

Commit 0724ef1

Browse files
authored
Box Query in Cte (apache#572)
1 parent 39761b0 commit 0724ef1

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

src/ast/query.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ impl fmt::Display for With {
271271
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
272272
pub struct Cte {
273273
pub alias: TableAlias,
274-
pub query: Query,
274+
pub query: Box<Query>,
275275
pub from: Option<Ident>,
276276
}
277277

src/parser.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3550,7 +3550,7 @@ impl<'a> Parser<'a> {
35503550

35513551
let mut cte = if self.parse_keyword(Keyword::AS) {
35523552
self.expect_token(&Token::LParen)?;
3553-
let query = self.parse_query()?;
3553+
let query = Box::new(self.parse_query()?);
35543554
self.expect_token(&Token::RParen)?;
35553555
let alias = TableAlias {
35563556
name,
@@ -3565,7 +3565,7 @@ impl<'a> Parser<'a> {
35653565
let columns = self.parse_parenthesized_column_list(Optional)?;
35663566
self.expect_keyword(Keyword::AS)?;
35673567
self.expect_token(&Token::LParen)?;
3568-
let query = self.parse_query()?;
3568+
let query = Box::new(self.parse_query()?);
35693569
self.expect_token(&Token::RParen)?;
35703570
let alias = TableAlias { name, columns };
35713571
Cte {

tests/sqlparser_common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3861,7 +3861,7 @@ fn parse_recursive_cte() {
38613861
quote_style: None,
38623862
}],
38633863
},
3864-
query: cte_query,
3864+
query: Box::new(cte_query),
38653865
from: None,
38663866
};
38673867
assert_eq!(with.cte_tables.first().unwrap(), &expected);

0 commit comments

Comments
 (0)