Skip to content

Commit b2c940a

Browse files
committed
feat: use new fields
1 parent d294830 commit b2c940a

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

posthog/hogql/database/database.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,11 +1433,17 @@ def _use_error_tracking_issue_id_from_error_tracking_issue_overrides(database: D
14331433
)
14341434
table.fields["assigned_user_id"] = ExpressionField(
14351435
name="assigned_user_id",
1436-
expr=parse_expr("exception_issue_denormalized.assigned_user_id"),
1436+
expr=parse_expr(
1437+
"if(equals(toString(exception_issue_denormalized.assigned_entity_type), 'user'), toInt64OrNull(exception_issue_denormalized.assigned_entity_id), NULL)",
1438+
start=None,
1439+
),
14371440
)
14381441
table.fields["assigned_role_id"] = ExpressionField(
14391442
name="assigned_role_id",
1440-
expr=parse_expr("exception_issue_denormalized.assigned_role_id"),
1443+
expr=parse_expr(
1444+
"if(equals(toString(exception_issue_denormalized.assigned_entity_type), 'role'), exception_issue_denormalized.assigned_entity_id, NULL)",
1445+
start=None,
1446+
),
14411447
)
14421448
table.fields["issue_first_seen"] = ExpressionField(
14431449
name="issue_first_seen",

posthog/hogql/database/schema/error_tracking_issue_fingerprint_denormalized.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
"issue_name": StringDatabaseField(name="issue_name", nullable=True),
2323
"issue_description": StringDatabaseField(name="issue_description", nullable=True),
2424
"issue_status": StringDatabaseField(name="issue_status", nullable=False),
25-
"assigned_user_id": IntegerDatabaseField(name="assigned_user_id", nullable=True),
26-
"assigned_role_id": StringDatabaseField(name="assigned_role_id", nullable=True),
25+
"assigned_entity_type": StringDatabaseField(name="assigned_entity_type", nullable=True),
26+
"assigned_entity_id": StringDatabaseField(name="assigned_entity_id", nullable=True),
2727
"first_seen": DateTimeDatabaseField(name="first_seen", nullable=True),
2828
}
2929

products/error_tracking/backend/models.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,16 @@ def sync_issue_to_clickhouse(issue_id: UUID, team_id: int) -> None:
543543
p = ClickhouseProducer()
544544

545545
for fingerprint, first_seen in fingerprint_records:
546+
assigned_entity_type = None
547+
assigned_entity_id = None
548+
if assignment:
549+
if assignment.user_id:
550+
assigned_entity_type = "user"
551+
assigned_entity_id = str(assignment.user_id)
552+
elif assignment.role_id:
553+
assigned_entity_type = "role"
554+
assigned_entity_id = str(assignment.role_id)
555+
546556
p.produce(
547557
topic=KAFKA_ERROR_TRACKING_ISSUE_FINGERPRINT_DENORMALIZED,
548558
sql=INSERT_ERROR_TRACKING_ISSUE_FINGERPRINT_DENORMALIZED,
@@ -553,8 +563,8 @@ def sync_issue_to_clickhouse(issue_id: UUID, team_id: int) -> None:
553563
"issue_name": issue.name,
554564
"issue_description": issue.description,
555565
"issue_status": issue.status,
556-
"assigned_user_id": assignment.user_id if assignment else None,
557-
"assigned_role_id": str(assignment.role_id) if assignment and assignment.role_id else None,
566+
"assigned_entity_type": assigned_entity_type,
567+
"assigned_entity_id": assigned_entity_id,
558568
"first_seen": first_seen.strftime("%Y-%m-%d %H:%M:%S.%f") if first_seen else "1970-01-01 00:00:00.000",
559569
"is_deleted": 0,
560570
"version": version,

0 commit comments

Comments
 (0)