From 64c09057ce721aa9671bfaac602ca51ded253ee9 Mon Sep 17 00:00:00 2001 From: Milind Srivastava Date: Mon, 4 May 2026 12:58:24 -0400 Subject: [PATCH] fix: SQL order by matching --- .../rs/sql_utilities/src/ast_matching/sqlparser_test.rs | 7 +++++++ .../rs/sql_utilities/src/ast_matching/sqlpattern_parser.rs | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlparser_test.rs b/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlparser_test.rs index 72b0940b..6da45aa7 100644 --- a/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlparser_test.rs +++ b/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlparser_test.rs @@ -639,4 +639,11 @@ mod tests { ).unwrap(); assert!(incoming.matches_sql_pattern(&template)); } + + #[test] + fn test_order_by_is_rejected() { + assert!(parse_sql_query( + "SELECT AVG(value) FROM cpu_usage WHERE time BETWEEN DATEADD(s, -10, NOW()) AND NOW() GROUP BY L1, L2 ORDER BY L1" + ).is_none()); + } } diff --git a/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlpattern_parser.rs b/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlpattern_parser.rs index 3c833a08..5a952e96 100644 --- a/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlpattern_parser.rs +++ b/asap-common/dependencies/rs/sql_utilities/src/ast_matching/sqlpattern_parser.rs @@ -36,6 +36,11 @@ impl SQLPatternParser { } fn parse_query_node(&self, query: &Query) -> Option { + if query.order_by.is_some() { + println!("ORDER BY is not supported"); + return None; + } + // Convert CTE to subquery if present let query = self.cte_to_subquery(query);