Skip to content

Commit 8165c19

Browse files
Zylphrexevanh
authored andcommitted
fix(eap): Ensure count has type integer (#81031)
Snuba started returning Int64 instead of UInt64 for count() on EAP through SnQL. Make sure to support that correctly.
1 parent 41e9e2e commit 8165c19

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/sentry/utils/snuba.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1674,6 +1674,9 @@ def resolve_complex_column(col, resolve_func, ignored):
16741674
"UInt16": "integer",
16751675
"UInt32": "integer",
16761676
"UInt64": "integer",
1677+
"Int16": "integer",
1678+
"Int32": "integer",
1679+
"Int64": "integer",
16771680
"Float32": "number",
16781681
"Float64": "number",
16791682
"DateTime": "date",

tests/snuba/api/endpoints/test_organization_events_span_indexed.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,19 @@ def test_query_for_missing_tag(self):
562562
assert response.status_code == 200, response.content
563563
assert response.data["data"] == [{"foo": "", "count()": 1}]
564564

565+
def test_count_field_type(self):
566+
response = self.do_request(
567+
{
568+
"field": ["count()"],
569+
"project": self.project.id,
570+
"dataset": self.dataset,
571+
}
572+
)
573+
assert response.status_code == 200, response.content
574+
assert response.data["meta"]["fields"] == {"count()": "integer"}
575+
assert response.data["meta"]["units"] == {"count()": None}
576+
assert response.data["data"] == [{"count()": 0}]
577+
565578
def test_simple_measurements(self):
566579
keys = [
567580
("app_start_cold", "duration", "millisecond"),

0 commit comments

Comments
 (0)