From c77b73cb2001b8fcac64a267bdac6a8c080352f0 Mon Sep 17 00:00:00 2001 From: dji Date: Tue, 21 Sep 2021 10:15:21 -1000 Subject: [PATCH 1/3] got rid of inheritance sitch for series.source_link - just return that field --- views.mysql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views.mysql b/views.mysql index 60eb2bf4..d4c3ee14 100644 --- a/views.mysql +++ b/views.mysql @@ -48,7 +48,7 @@ CREATE OR REPLACE VIEW portal_all_v AS SELECT COALESCE(series.dataPortalName, measurements.data_portal_name) AS data_portal_name, COALESCE(sources.description, measurement_sources.description) AS source_description, COALESCE(source_details.description, measurement_source_details.description) AS source_detail_description, - COALESCE(series.source_link, measurements.source_link, sources.link, measurement_sources.link) AS source_link + series.source_link, FROM series_all_v AS series JOIN geographies ON geographies.id = series.geography_id JOIN measurement_series ON measurement_series.series_id = series.id From 8c74804faf0464c3de668ff2d69632e885d47980 Mon Sep 17 00:00:00 2001 From: dji Date: Mon, 1 Nov 2021 21:08:44 -1000 Subject: [PATCH 2/3] wip --- data/common.go | 13 ++++++------- views.mysql | 27 ++++++++++++++++++--------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/data/common.go b/data/common.go index 205c7c7e..6e54d04a 100644 --- a/data/common.go +++ b/data/common.go @@ -224,7 +224,8 @@ func getAllFreqsGeos(r *FooRepository, seriesId int64, categoryId int64) ( []models.DataPortalFrequency, error, ) { - rows, err := r.DB.Query( + //language=MySQL + rows, err := r.RunQuery( `SELECT DISTINCT 'geo' AS gftype, geo.handle AS handle, geo.fips AS fips, @@ -234,23 +235,21 @@ func getAllFreqsGeos(r *FooRepository, seriesId int64, categoryId int64) ( MIN(pdp.date), MAX(pdp.date) FROM measurement_series LEFT JOIN measurement_series AS ms ON ms.measurement_id = measurement_series.measurement_id - LEFT JOIN series_v AS series ON series.id = ms.series_id + LEFT JOIN <%SERIES%> AS series ON series.id = ms.series_id LEFT JOIN geographies geo ON geo.id = series.geography_id - LEFT JOIN public_data_points pdp on pdp.series_id = series.id + LEFT JOIN <%DATAPOINTS%> pdp on pdp.series_id = series.id WHERE pdp.value IS NOT NULL AND measurement_series.series_id = ? - AND NOT (series.restricted OR series.quarantined) GROUP BY geo.id, geo.handle, geo.fips, geo.display_name, geo.display_name_short, geo.list_order UNION SELECT DISTINCT 'freq' AS gftype, RIGHT(series.name, 1) AS handle, null, null, null, null AS lorder, MIN(pdp.date), MAX(pdp.date) FROM measurement_series LEFT JOIN measurement_series AS ms ON ms.measurement_id = measurement_series.measurement_id - LEFT JOIN series_v AS series ON series.id = ms.series_id - LEFT JOIN public_data_points pdp on pdp.series_id = series.id + LEFT JOIN <%SERIES%> AS series ON series.id = ms.series_id + LEFT JOIN <%DATAPOINTS%> pdp on pdp.series_id = series.id WHERE pdp.value IS NOT NULL AND measurement_series.series_id = ? - AND NOT (series.restricted OR series.quarantined) GROUP BY RIGHT(series.name, 1) ORDER BY gftype, COALESCE(lorder, 999), handle`, seriesId, seriesId) if err != nil { diff --git a/views.mysql b/views.mysql index d4c3ee14..753d0373 100644 --- a/views.mysql +++ b/views.mysql @@ -43,12 +43,12 @@ CREATE OR REPLACE VIEW portal_all_v AS SELECT series.restricted, CONCAT(series.name,'|',COALESCE(series.description,''),'|',COALESCE(series.dataPortalName,'')) AS series_search_text, CONCAT(series.name,'|',COALESCE(series.description,''),'|',COALESCE(series.dataPortalName,''),'|',COALESCE(categories.name,'')) AS ext_search_text, - COALESCE(units.short_label, measurement_units.short_label) AS units_short, - COALESCE(units.long_label, measurement_units.long_label) AS units_long, - COALESCE(series.dataPortalName, measurements.data_portal_name) AS data_portal_name, - COALESCE(sources.description, measurement_sources.description) AS source_description, + COALESCE(units.short_label, pseries_units.short_label) AS units_short, + COALESCE(units.long_label, pseries_units.long_label) AS units_long, + COALESCE(series.dataPortalName, series.pseries_data_portal_name) AS data_portal_name, + COALESCE(sources.description, pseries_sources.description) AS source_description, COALESCE(source_details.description, measurement_source_details.description) AS source_detail_description, - series.source_link, + COALESCE(series.source_link, series.pseries_source_link) AS source_link FROM series_all_v AS series JOIN geographies ON geographies.id = series.geography_id JOIN measurement_series ON measurement_series.series_id = series.id @@ -57,9 +57,9 @@ CREATE OR REPLACE VIEW portal_all_v AS SELECT JOIN data_lists ON data_lists.id = data_list_measurements.data_list_id JOIN categories ON categories.data_list_id = data_lists.id LEFT JOIN units ON units.id = series.unit_id - LEFT JOIN units AS measurement_units ON measurement_units.id = measurements.unit_id + LEFT JOIN units AS pseries_units ON pseries_units.id = series.pseries_unit_id LEFT JOIN sources ON sources.id = series.source_id - LEFT JOIN sources AS measurement_sources ON measurement_sources.id = measurements.source_id + LEFT JOIN sources AS pseries_sources ON pseries_sources.id = series.pseries_source_id LEFT JOIN source_details ON source_details.id = series.source_detail_id LEFT JOIN source_details AS measurement_source_details ON measurement_source_details.id = measurements.source_detail_id ; @@ -89,8 +89,17 @@ CREATE OR REPLACE VIEW `series_all_v` AS SELECT x.restricted, x.quarantined, x.created_at AS xs_created_at, - x.updated_at AS xs_updated_at - FROM series JOIN xseries x ON x.id = series.xseries_id ; + x.updated_at AS xs_updated_at, + pseries.name AS pseries_name, + pseries.dataPortalName AS pseries_data_portal_name, + pseries.description AS pseries_description, + pseries.decimals AS pseries_decimals, + pseries.unit_id AS pseries_unit_id, + pseries.source_id AS pseries_source_id, + pseries.source_link AS pseries_source_link + FROM series + JOIN xseries AS x ON x.id = series.xseries_id + LEFT JOIN series AS pseries ON pseries.id = x.primary_series_id ; CREATE OR REPLACE view `series_v` AS SELECT * FROM series_all_v From 4a6546d209d719bd5dd73be7cce678271fb3ba99 Mon Sep 17 00:00:00 2001 From: dji Date: Sun, 30 Jul 2023 21:01:28 -1000 Subject: [PATCH 3/3] removed units field from xseries table --- views.mysql | 1 - 1 file changed, 1 deletion(-) diff --git a/views.mysql b/views.mysql index 753d0373..9c5fbb7b 100644 --- a/views.mysql +++ b/views.mysql @@ -74,7 +74,6 @@ CREATE OR REPLACE VIEW `series_all_v` AS SELECT x.frequency, x.seasonally_adjusted, x.seasonal_adjustment, - x.units, x.percent, x.`real`, x.last_demetra_datestring,