diff --git a/prometheus/src/main/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTable.java b/prometheus/src/main/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTable.java index c2a637a85a..772f40da78 100644 --- a/prometheus/src/main/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTable.java +++ b/prometheus/src/main/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTable.java @@ -58,6 +58,18 @@ public PrometheusMetricTable(PrometheusClient prometheusService, this.prometheusQueryRequest = Optional.of(prometheusQueryRequest); } + @Override + public boolean exists() { + throw new UnsupportedOperationException( + "Prometheus metric exists operation is not supported"); + } + + @Override + public void create(Map schema) { + throw new UnsupportedOperationException( + "Prometheus metric create operation is not supported"); + } + @Override public Map getFieldTypes() { if (cachedFieldTypes == null) { diff --git a/prometheus/src/test/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTableTest.java b/prometheus/src/test/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTableTest.java index 1a048a7b8e..dadcfc7c03 100644 --- a/prometheus/src/test/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTableTest.java +++ b/prometheus/src/test/java/org/opensearch/sql/prometheus/storage/PrometheusMetricTableTest.java @@ -7,6 +7,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -19,6 +20,7 @@ import static org.opensearch.sql.prometheus.data.constants.PrometheusFieldConstants.VALUE; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -125,4 +127,14 @@ void testOptimize() { assertEquals(inputPlan, optimizedPlan); } + @Test + void testUnsupportedOperation() { + PrometheusQueryRequest prometheusQueryRequest = new PrometheusQueryRequest(); + PrometheusMetricTable prometheusMetricTable = + new PrometheusMetricTable(client, prometheusQueryRequest); + + assertThrows(UnsupportedOperationException.class, prometheusMetricTable::exists); + assertThrows(UnsupportedOperationException.class, + () -> prometheusMetricTable.create(Collections.emptyMap())); + } }