Skip to content

Commit

Permalink
feat: add emission_category_missing_fuel validation function
Browse files Browse the repository at this point in the history
  • Loading branch information
dleard committed Apr 29, 2021
1 parent 6574fed commit 2790155
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-- Deploy ggircs-portal:application_validation_functions/emission_category_missing_fuel to pg
-- requires: tables/application_revision_validation_function
-- requires: computed_columns/application_revision_validation

begin;

create or replace function ggircs_portal.emission_category_missing_fuel(app_revision ggircs_portal.application_revision)
returns boolean
as $$

with x as (
select distinct(source_type_name) as reported_via_emission
from ggircs_portal.ciip_emission ce
where ce.application_id = app_revision.application_id
and ce.version_number = app_revision.version_number
and ce.annual_co2e > 0
), y as (
select distinct (display_name) as reported_via_fuel from ggircs_portal.emission_category ec
join ggircs_portal.ciip_fuel cf
on cf.emission_category_id = ec.id
and cf.application_id = app_revision.application_id
and cf.version_number = app_revision.version_number
and cf.quantity > 0
) select (select count(*) from x where reported_via_emission not in (select reported_via_fuel from y)) = 0;

$$ language sql stable;

comment on function ggircs_portal.emission_category_missing_fuel(ggircs_portal.application_revision) is 'This validation function for a CIIP (CleanBC Industrial Incentive Program) determines if any emission categories have emissions reported in a category, but no corresponding fuels reported for the category';

commit;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Revert ggircs-portal:application_validation_functions/emission_category_missing_fuel from pg

begin;

drop function ggircs_portal.emission_category_missing_fuel;

commit;
1 change: 1 addition & 0 deletions schema/sqitch.plan
Original file line number Diff line number Diff line change
Expand Up @@ -329,3 +329,4 @@ swrs_functions/refresh_swrs_version_data [swrs_functions/refresh_swrs_version_da
@v2.3.1 2021-04-29T17:39:15Z Dylan Leard <dylan@button.is> # release v2.3.1
application_validation_functions/emission_total_matches_rev_zero 2021-04-28T15:44:50Z Pierre Bastianelli <pierre.bastianelli@gov.bc.ca> # Validation function that validates that for a given application revision, the emission total matches the revision zero (swrs) emission total
computed_columns/application_revision_total_ciip_emissions [computed_columns/application_revision_total_ciip_emissions@v2.3.0] 2021-04-28T23:40:07Z Naomi Aro <naomi.aro@gov.bc.ca> # Don't use metabase view
application_validation_functions/emission_category_missing_fuel [tables/application_revision_validation_function computed_columns/application_revision_validation] 2021-04-27T21:54:17Z Dylan Leard <dylan@button.is> # Validation function to determine if there a missing fuels based on the emission categories with reported emissions
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-- Verify ggircs-portal:application_validation_functions/emission_category_missing_fuel on pg

begin;

select pg_get_functiondef('ggircs_portal.application_revision_ciip_incentive(ggircs_portal.application_revision)'::regprocedure);

rollback;

0 comments on commit 2790155

Please sign in to comment.