diff --git a/plugin/trino-prometheus/pom.xml b/plugin/trino-prometheus/pom.xml
index 7a44709522d4..40da1e779a1e 100644
--- a/plugin/trino-prometheus/pom.xml
+++ b/plugin/trino-prometheus/pom.xml
@@ -62,6 +62,11 @@
jackson-datatype-jsr310
+
+ com.google.code.findbugs
+ jsr305
+
+
com.google.guava
guava
diff --git a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusStandardizedRow.java b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusStandardizedRow.java
index 0ad038807453..2a9bfeb62981 100644
--- a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusStandardizedRow.java
+++ b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusStandardizedRow.java
@@ -15,6 +15,8 @@
import io.trino.spi.block.Block;
+import javax.annotation.Nullable;
+
import java.time.Instant;
import static java.util.Objects.requireNonNull;
@@ -25,13 +27,14 @@ public class PrometheusStandardizedRow
private final Instant timestamp;
private final Double value;
- public PrometheusStandardizedRow(Block labels, Instant timestamp, Double value)
+ public PrometheusStandardizedRow(@Nullable Block labels, Instant timestamp, Double value)
{
- this.labels = requireNonNull(labels, "labels is null");
+ this.labels = labels;
this.timestamp = requireNonNull(timestamp, "timestamp is null");
this.value = requireNonNull(value, "value is null");
}
+ @Nullable
public Block getLabels()
{
return labels;
diff --git a/plugin/trino-prometheus/src/test/java/io/trino/plugin/prometheus/TestPrometheusIntegrationMetrics.java b/plugin/trino-prometheus/src/test/java/io/trino/plugin/prometheus/TestPrometheusIntegrationMetrics.java
index bc406e4a0db6..9652f99e27ed 100644
--- a/plugin/trino-prometheus/src/test/java/io/trino/plugin/prometheus/TestPrometheusIntegrationMetrics.java
+++ b/plugin/trino-prometheus/src/test/java/io/trino/plugin/prometheus/TestPrometheusIntegrationMetrics.java
@@ -71,4 +71,11 @@ public void testDescribeTable()
"('timestamp', 'timestamp(3) with time zone', '', '')," +
"('value', 'double', '', '')");
}
+
+ @Test
+ public void testSelectWithoutLabels()
+ {
+ assertQuerySucceeds("SELECT timestamp, value FROM prometheus.default.up");
+ assertQuery("SELECT value FROM prometheus.default.up LIMIT 1", "VALUES ('1.0')");
+ }
}