From 41acfe5985d2256319cdc6423dde11e5584e8c9f Mon Sep 17 00:00:00 2001 From: Eddy Oyieko <67474838+mobley-trent@users.noreply.github.com> Date: Tue, 2 Jan 2024 10:46:38 +0000 Subject: [PATCH 1/2] Updated codegen.rs, get_node_properties.rs --- crates/codegen/src/get_node_properties.rs | 4 ++++ crates/parser/src/codegen.rs | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/crates/codegen/src/get_node_properties.rs b/crates/codegen/src/get_node_properties.rs index 7e2bf6ea..001c7f2d 100644 --- a/crates/codegen/src/get_node_properties.rs +++ b/crates/codegen/src/get_node_properties.rs @@ -181,6 +181,10 @@ fn custom_handlers(node: &Node) -> TokenStream { tokens.push(TokenProperty::from(Token::GroupP)); tokens.push(TokenProperty::from(Token::By)); } + if n.sort_clause.len() > 0 { + tokens.push(TokenProperty::from(Token::Order)); + tokens.push(TokenProperty::from(Token::By)); + } match n.op() { protobuf::SetOperation::Undefined => {}, protobuf::SetOperation::SetopNone => {}, diff --git a/crates/parser/src/codegen.rs b/crates/parser/src/codegen.rs index f0b631f2..da8f5e82 100644 --- a/crates/parser/src/codegen.rs +++ b/crates/parser/src/codegen.rs @@ -106,6 +106,20 @@ mod tests { ) } + #[test] + fn test_select_with_order_by() { + test_get_node_properties( + "SELECT a, b, c FROM table1 ORDER BY c;", + SyntaxKind::SelectStmt, + vec![ + TokenProperty::from(SyntaxKind::Select), + TokenProperty::from(SyntaxKind::From), + TokenProperty::from(SyntaxKind::Order), + TokenProperty::from(SyntaxKind::By), + ], + ) + } + #[test] fn test_create_domain() { test_get_node_properties( From 05b80a28951c0c19f6fed3501f9cb629dcb14dfc Mon Sep 17 00:00:00 2001 From: Eddy Oyieko <67474838+mobley-trent@users.noreply.github.com> Date: Wed, 24 Jan 2024 09:38:03 +0000 Subject: [PATCH 2/2] Updated get_node_properties.rs, codegen.rs - SortBy node --- crates/codegen/src/get_node_properties.rs | 4 ---- crates/parser/src/codegen.rs | 4 +--- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/crates/codegen/src/get_node_properties.rs b/crates/codegen/src/get_node_properties.rs index 001c7f2d..7e2bf6ea 100644 --- a/crates/codegen/src/get_node_properties.rs +++ b/crates/codegen/src/get_node_properties.rs @@ -181,10 +181,6 @@ fn custom_handlers(node: &Node) -> TokenStream { tokens.push(TokenProperty::from(Token::GroupP)); tokens.push(TokenProperty::from(Token::By)); } - if n.sort_clause.len() > 0 { - tokens.push(TokenProperty::from(Token::Order)); - tokens.push(TokenProperty::from(Token::By)); - } match n.op() { protobuf::SetOperation::Undefined => {}, protobuf::SetOperation::SetopNone => {}, diff --git a/crates/parser/src/codegen.rs b/crates/parser/src/codegen.rs index da8f5e82..1b7ff8e6 100644 --- a/crates/parser/src/codegen.rs +++ b/crates/parser/src/codegen.rs @@ -110,10 +110,8 @@ mod tests { fn test_select_with_order_by() { test_get_node_properties( "SELECT a, b, c FROM table1 ORDER BY c;", - SyntaxKind::SelectStmt, + SyntaxKind::SortBy, vec![ - TokenProperty::from(SyntaxKind::Select), - TokenProperty::from(SyntaxKind::From), TokenProperty::from(SyntaxKind::Order), TokenProperty::from(SyntaxKind::By), ],