Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions data/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,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,
Expand All @@ -236,23 +237,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 {
Expand Down
28 changes: 18 additions & 10 deletions views.mysql
Original file line number Diff line number Diff line change
Expand Up @@ -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,
COALESCE(series.source_link, measurements.source_link, sources.link, measurement_sources.link) AS 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
Expand All @@ -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 ;

Expand All @@ -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,
Expand All @@ -89,8 +88,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
Expand Down