From 414db41219916c99cc3e75bf56121424fbd3c85d Mon Sep 17 00:00:00 2001 From: Ruihang Xia Date: Tue, 5 Aug 2025 19:24:45 -0700 Subject: [PATCH] fix: box Explain node in Statement to reduce stack size (#6661) Signed-off-by: Ruihang Xia --- src/sql/src/parsers/explain_parser.rs | 6 ++++-- src/sql/src/statements/statement.rs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/sql/src/parsers/explain_parser.rs b/src/sql/src/parsers/explain_parser.rs index 3769825351..9aa4436507 100644 --- a/src/sql/src/parsers/explain_parser.rs +++ b/src/sql/src/parsers/explain_parser.rs @@ -31,7 +31,9 @@ impl ParserContext<'_> { actual: self.peek_token_as_string(), })?; - Ok(Statement::Explain(Explain::try_from(explain_statement)?)) + Ok(Statement::Explain(Box::new(Explain::try_from( + explain_statement, + )?))) } } @@ -118,6 +120,6 @@ mod tests { }) .unwrap(); - assert_eq!(stmts[0], Statement::Explain(explain)) + assert_eq!(stmts[0], Statement::Explain(Box::new(explain))) } } diff --git a/src/sql/src/statements/statement.rs b/src/sql/src/statements/statement.rs index 2979a225cb..b1f7e5d712 100644 --- a/src/sql/src/statements/statement.rs +++ b/src/sql/src/statements/statement.rs @@ -124,7 +124,7 @@ pub enum Statement { // DESCRIBE TABLE DescribeTable(DescribeTable), // EXPLAIN QUERY - Explain(Explain), + Explain(Box), // COPY Copy(Copy), // Telemetry Query Language