diff --git a/sql_generators/glean_usage/templates/cross_channel_events_stream.query.sql b/sql_generators/glean_usage/templates/cross_channel_events_stream.query.sql index bf13ff1aaab..2ad9da9c0e0 100644 --- a/sql_generators/glean_usage/templates/cross_channel_events_stream.query.sql +++ b/sql_generators/glean_usage/templates/cross_channel_events_stream.query.sql @@ -20,6 +20,7 @@ WITH events_stream_union AS ( {% endfor %} ) SELECT + CONCAT(document_id, '-', document_event_number) AS event_id, *, {% if extras_by_type %} {{ event_extras_by_type_struct(extras_by_type) }} AS extras diff --git a/sql_generators/glean_usage/templates/events_stream.view.sql b/sql_generators/glean_usage/templates/events_stream.view.sql index 99ceb2eb046..0bb87feabac 100644 --- a/sql_generators/glean_usage/templates/events_stream.view.sql +++ b/sql_generators/glean_usage/templates/events_stream.view.sql @@ -5,6 +5,7 @@ CREATE OR REPLACE VIEW `{{ project_id }}.{{ events_stream_view }}` AS SELECT + CONCAT(document_id, '-', document_event_number) AS event_id, *, {% if extras_by_type %} {{ event_extras_by_type_struct(extras_by_type) }} AS extras diff --git a/sql_generators/glean_usage/templates/events_stream_v1.query.sql b/sql_generators/glean_usage/templates/events_stream_v1.query.sql index c2c04724995..562fd24f499 100644 --- a/sql_generators/glean_usage/templates/events_stream_v1.query.sql +++ b/sql_generators/glean_usage/templates/events_stream_v1.query.sql @@ -135,10 +135,12 @@ SELECT event.name AS event_name, ARRAY_TO_STRING([event.category, event.name], '.') AS event, -- handles NULL values better from_map_event_extra(event.extra) AS event_extra, + (event_offset + 1) AS document_event_number, FROM base CROSS JOIN UNNEST(events) AS event + WITH OFFSET AS event_offset {% if app_name == "firefox_desktop" %} WHERE -- See https://mozilla-hub.atlassian.net/browse/DENG-7513