Skip to content

Commit

Permalink
feat: update ciip_emission view to handle ciip 2018 data
Browse files Browse the repository at this point in the history
  • Loading branch information
dleard committed Feb 2, 2021
1 parent b93f622 commit c2e31f7
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 3 deletions.
4 changes: 3 additions & 1 deletion schema/deploy/views/ciip_emission.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ create view ggircs_portal.ciip_emission as
with source_types as (
select application_id, version_number, json_array_elements((form_result.form_result ->> 'sourceTypes')::json) as source_type
from ggircs_portal.form_result
where form_id = 2
join ggircs_portal.form_json
on form_result.form_id = form_json.id
and form_json.slug in ('emission', 'emission-2018')
),
gases as (
select application_id, version_number,
Expand Down
40 changes: 40 additions & 0 deletions schema/deploy/views/ciip_emission@v1.14.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
-- Deploy ggircs-portal:view_ciip_emission to pg
-- requires: table_application

begin;
create view ggircs_portal.ciip_emission as
(
with source_types as (
select application_id, version_number, json_array_elements((form_result.form_result ->> 'sourceTypes')::json) as source_type
from ggircs_portal.form_result
where form_id = 2
),
gases as (
select application_id, version_number,
(source_type ->> 'sourceTypeName')::varchar(1000) as source_type_name,
json_array_elements((source_type ->> 'gases')::json) as gases
from source_types
)
select application_id, version_number,
source_type_name,
(gases ->> 'gwp')::numeric as gwp,
(gases ->> 'gasType')::varchar(1000) as gas_type,
(gases ->> 'annualCO2e')::numeric as annual_co2e,
(gases ->> 'annualEmission')::numeric as annual_emission,
(gases ->> 'gasDescription')::varchar(1000) as gas_description
from gases
);

grant select on table ggircs_portal.ciip_emission to ciip_administrator, ciip_analyst;

comment on view ggircs_portal.ciip_emission is E'@omit\n The view for emission data reported in an application';
comment on column ggircs_portal.ciip_emission.application_id is 'The application id';
comment on column ggircs_portal.ciip_emission.version_number is 'The application revision number';
comment on column ggircs_portal.ciip_emission.source_type_name is 'The type of the emission source';
comment on column ggircs_portal.ciip_emission.gas_type is 'The emitted gas';
comment on column ggircs_portal.ciip_emission.gwp is 'The gas'' global warming potential';
comment on column ggircs_portal.ciip_emission.annual_co2e is 'The CO2 equivalent (in tonnes) emitted (annual_emission * gwp)';
comment on column ggircs_portal.ciip_emission.annual_emission is 'The amount of gas emitted (in tonnes)';
comment on column ggircs_portal.ciip_emission.gas_description is 'The description of the gas';

commit;
38 changes: 36 additions & 2 deletions schema/revert/views/ciip_emission.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,41 @@
-- Revert ggircs-portal:view_ciip_emission from pg
-- Deploy ggircs-portal:view_ciip_emission to pg
-- requires: table_application

begin;
drop ggircs_portal.ciip_emission;
create view ggircs_portal.ciip_emission as
(
with source_types as (
select application_id, version_number, json_array_elements((form_result.form_result ->> 'sourceTypes')::json) as source_type
from ggircs_portal.form_result
where form_id = 2
),
gases as (
select application_id, version_number,
(source_type ->> 'sourceTypeName')::varchar(1000) as source_type_name,
json_array_elements((source_type ->> 'gases')::json) as gases
from source_types
)
select application_id, version_number,
source_type_name,
(gases ->> 'gwp')::numeric as gwp,
(gases ->> 'gasType')::varchar(1000) as gas_type,
(gases ->> 'annualCO2e')::numeric as annual_co2e,
(gases ->> 'annualEmission')::numeric as annual_emission,
(gases ->> 'gasDescription')::varchar(1000) as gas_description
from gases
);

drop view ggircs_portal.ciip_emission;
grant select on table ggircs_portal.ciip_emission to ciip_administrator, ciip_analyst;

comment on view ggircs_portal.ciip_emission is E'@omit\n The view for emission data reported in an application';
comment on column ggircs_portal.ciip_emission.application_id is 'The application id';
comment on column ggircs_portal.ciip_emission.version_number is 'The application revision number';
comment on column ggircs_portal.ciip_emission.source_type_name is 'The type of the emission source';
comment on column ggircs_portal.ciip_emission.gas_type is 'The emitted gas';
comment on column ggircs_portal.ciip_emission.gwp is 'The gas'' global warming potential';
comment on column ggircs_portal.ciip_emission.annual_co2e is 'The CO2 equivalent (in tonnes) emitted (annual_emission * gwp)';
comment on column ggircs_portal.ciip_emission.annual_emission is 'The amount of gas emitted (in tonnes)';
comment on column ggircs_portal.ciip_emission.gas_description is 'The description of the gas';

commit;
7 changes: 7 additions & 0 deletions schema/revert/views/ciip_emission@v1.14.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Revert ggircs-portal:view_ciip_emission from pg

begin;

drop view ggircs_portal.ciip_emission;

commit;
1 change: 1 addition & 0 deletions schema/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -215,3 +215,4 @@ mutations/create_application_revision_mutation_chain [mutations/create_applicati
@v1.15.0 2021-02-01T21:26:33Z Matthieu Foucault <matthieu@button.is> # release v1.15.0
views/ciip_admin [views/ciip_admin@v1.14.0] 2021-01-19T19:16:19Z Dylan Leard <dylan@button.is> # Migration: include ciip_2018 data
views/ciip_fuel [views/ciip_fuel@v1.14.0] 2021-01-19T21:08:48Z Dylan Leard <dylan@button.is> # Migration: handle 2018 ciip data
views/ciip_emission [views/ciip_emission@v1.14.0] 2021-01-19T21:25:56Z Dylan Leard <dylan@button.is> # Migration: handle ciip_2018 data
7 changes: 7 additions & 0 deletions schema/verify/views/ciip_emission@v1.14.0.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Verify ggircs-portal:view_ciip_emissions on pg

begin;

select pg_catalog.has_table_privilege('ggircs_portal.ciip_emission', 'select');

rollback;

0 comments on commit c2e31f7

Please sign in to comment.