From 2dc1937fdce29dcf17f57810614f2ba4d4797a56 Mon Sep 17 00:00:00 2001 From: Siri Teja Gaddameedi Date: Tue, 28 Jan 2025 10:05:29 +0530 Subject: [PATCH 1/3] Add SQLQuery Utils support for Vaccum queries Signed-off-by: Siri Teja Gaddameedi --- .../sql/spark/utils/SQLQueryUtils.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java b/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java index bd7060b776..34d2d0090c 100644 --- a/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java +++ b/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java @@ -316,6 +316,31 @@ public Void visitAlterMaterializedViewStatement( return super.visitAlterMaterializedViewStatement(ctx); } + @Override + public Void visitVacuumCoveringIndexStatement( + FlintSparkSqlExtensionsParser.VacuumCoveringIndexStatementContext ctx) { + indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); + indexQueryDetailsBuilder.indexType(FlintIndexType.COVERING); + return super.visitVacuumCoveringIndexStatement(ctx); + } + + @Override + public Void visitVacuumSkippingIndexStatement( + FlintSparkSqlExtensionsParser.VacuumSkippingIndexStatementContext ctx) { + indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); + indexQueryDetailsBuilder.indexType(FlintIndexType.SKIPPING); + return super.visitVacuumSkippingIndexStatement(ctx); + } + + @Override + public Void visitVacuumMaterializedViewStatement( + FlintSparkSqlExtensionsParser.VacuumMaterializedViewStatementContext ctx) { + indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); + indexQueryDetailsBuilder.indexType(FlintIndexType.MATERIALIZED_VIEW); + indexQueryDetailsBuilder.mvName(ctx.mvName.getText()); + return super.visitVacuumMaterializedViewStatement(ctx); + } + @Override public Void visitMaterializedViewQuery(MaterializedViewQueryContext ctx) { int a = ctx.start.getStartIndex(); From 5ee0cb581a610763089a0c4efd9b76ad05e1f56e Mon Sep 17 00:00:00 2001 From: Siri Teja Gaddameedi Date: Wed, 29 Jan 2025 09:53:55 +0530 Subject: [PATCH 2/3] Add UTs Signed-off-by: Siri Teja Gaddameedi --- .../java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java b/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java index 881ad0e56a..cf96ecbae5 100644 --- a/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java +++ b/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java @@ -140,6 +140,7 @@ void testExtractionFromFlintSkippingIndexQueries() { + " WHERE elb_status_code = 500 " + " WITH (auto_refresh = true)", "DROP SKIPPING INDEX ON myS3.default.alb_logs", + "VACUUM SKIPPING INDEX ON myS3.default.alb_logs", "ALTER SKIPPING INDEX ON myS3.default.alb_logs WITH (auto_refresh = false)", }; @@ -170,6 +171,7 @@ void testExtractionFromFlintCoveringIndexQueries() { + " WHERE elb_status_code = 500 " + " WITH (auto_refresh = true)", "DROP INDEX elb_and_requestUri ON myS3.default.alb_logs", + "VACUUM INDEX elb_and_requestUri ON myS3.default.alb_logs", "ALTER INDEX elb_and_requestUri ON myS3.default.alb_logs WITH (auto_refresh = false)" }; From 0cfd788b05d8c013059a70449c08e63f854abb4c Mon Sep 17 00:00:00 2001 From: Siri Teja Gaddameedi Date: Thu, 30 Jan 2025 09:05:33 +0530 Subject: [PATCH 3/3] Fix build Signed-off-by: Siri Teja Gaddameedi --- .../java/org/opensearch/sql/spark/utils/SQLQueryUtils.java | 6 +++--- .../org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java b/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java index 34d2d0090c..4a6278dbb6 100644 --- a/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java +++ b/async-query-core/src/main/java/org/opensearch/sql/spark/utils/SQLQueryUtils.java @@ -318,7 +318,7 @@ public Void visitAlterMaterializedViewStatement( @Override public Void visitVacuumCoveringIndexStatement( - FlintSparkSqlExtensionsParser.VacuumCoveringIndexStatementContext ctx) { + FlintSparkSqlExtensionsParser.VacuumCoveringIndexStatementContext ctx) { indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); indexQueryDetailsBuilder.indexType(FlintIndexType.COVERING); return super.visitVacuumCoveringIndexStatement(ctx); @@ -326,7 +326,7 @@ public Void visitVacuumCoveringIndexStatement( @Override public Void visitVacuumSkippingIndexStatement( - FlintSparkSqlExtensionsParser.VacuumSkippingIndexStatementContext ctx) { + FlintSparkSqlExtensionsParser.VacuumSkippingIndexStatementContext ctx) { indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); indexQueryDetailsBuilder.indexType(FlintIndexType.SKIPPING); return super.visitVacuumSkippingIndexStatement(ctx); @@ -334,7 +334,7 @@ public Void visitVacuumSkippingIndexStatement( @Override public Void visitVacuumMaterializedViewStatement( - FlintSparkSqlExtensionsParser.VacuumMaterializedViewStatementContext ctx) { + FlintSparkSqlExtensionsParser.VacuumMaterializedViewStatementContext ctx) { indexQueryDetailsBuilder.indexQueryActionType(IndexQueryActionType.VACUUM); indexQueryDetailsBuilder.indexType(FlintIndexType.MATERIALIZED_VIEW); indexQueryDetailsBuilder.mvName(ctx.mvName.getText()); diff --git a/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java b/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java index cf96ecbae5..18d5fa9843 100644 --- a/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java +++ b/async-query-core/src/test/java/org/opensearch/sql/spark/utils/SQLQueryUtilsTest.java @@ -140,7 +140,7 @@ void testExtractionFromFlintSkippingIndexQueries() { + " WHERE elb_status_code = 500 " + " WITH (auto_refresh = true)", "DROP SKIPPING INDEX ON myS3.default.alb_logs", - "VACUUM SKIPPING INDEX ON myS3.default.alb_logs", + "VACUUM SKIPPING INDEX ON myS3.default.alb_logs", "ALTER SKIPPING INDEX ON myS3.default.alb_logs WITH (auto_refresh = false)", }; @@ -171,7 +171,7 @@ void testExtractionFromFlintCoveringIndexQueries() { + " WHERE elb_status_code = 500 " + " WITH (auto_refresh = true)", "DROP INDEX elb_and_requestUri ON myS3.default.alb_logs", - "VACUUM INDEX elb_and_requestUri ON myS3.default.alb_logs", + "VACUUM INDEX elb_and_requestUri ON myS3.default.alb_logs", "ALTER INDEX elb_and_requestUri ON myS3.default.alb_logs WITH (auto_refresh = false)" };