11WITH base AS (
22 SELECT
33 submission_timestamp,
4+ DATE (submission_timestamp) AS submission_date,
45 client_info .client_id ,
56 sample_id,
6- IFNULL( metrics .uuid .legacy_telemetry_client_id, " " ) AS legacy_telemetry_client_id,
7+ metrics .uuid .legacy_telemetry_client_id,
78 normalized_channel,
89 normalized_country_code,
910 client_info .locale ,
1011 normalized_os,
1112 client_info .app_display_version ,
12- JSON_QUERY_ARRAY(metrics .object .addons_active_addons, ' $' ) AS active_addons,
13+ -- merging active_addons and addons_theme into a single addons object
14+ ARRAY_CONCAT(
15+ JSON_QUERY_ARRAY(metrics .object .addons_active_addons, ' $' ),
16+ [JSON_QUERY(metrics .object .addons_theme, ' $' )]
17+ ) AS active_addons,
1318 FROM
1419 ` moz-fx-data-shared-prod.firefox_desktop.metrics`
1520 WHERE
1621 DATE (submission_timestamp) = @submission_date
1722 AND client_info .client_id IS NOT NULL
18- AND metrics .object .addons_active_addons IS NOT NULL
23+ AND ( metrics .object .addons_active_addons IS NOT NULL OR metrics . object .addons_theme IS NOT NULL )
1924),
2025per_clients_without_addons AS (
2126 SELECT
22- DATE (submission_timestamp) AS submission_date,
27+ submission_date,
2328 client_id,
2429 sample_id,
25- legacy_telemetry_client_id,
30+ mozfun .stats .mode_last(
31+ ARRAY_AGG(legacy_telemetry_client_id ORDER BY submission_timestamp)
32+ ) AS legacy_telemetry_client_id,
2633 ARRAY_AGG(
2734 app_display_version
2835 ORDER BY
@@ -40,10 +47,12 @@ per_clients_without_addons AS (
4047),
4148per_clients_just_addons AS (
4249 SELECT
43- DATE (submission_timestamp) AS submission_date,
50+ submission_date,
4451 client_id,
4552 sample_id,
46- legacy_telemetry_client_id,
53+ mozfun .stats .mode_last(
54+ ARRAY_AGG(legacy_telemetry_client_id ORDER BY submission_timestamp)
55+ ) AS legacy_telemetry_client_id,
4756 ARRAY_CONCAT_AGG(
4857 ARRAY(
4958 SELECT AS STRUCT
@@ -76,7 +85,7 @@ per_client AS (
7685 USING (submission_date, client_id, sample_id, legacy_telemetry_client_id)
7786)
7887SELECT
79- * EXCEPT (addons) REPLACE(NULLIF(legacy_telemetry_client_id, " " ) AS legacy_telemetry_client_id) ,
88+ * EXCEPT (addons),
8089 ARRAY(
8190 SELECT AS STRUCT
8291 addon .id ,
0 commit comments