From 7376d92bcbcb9ce8546e2bce553a01b0e14afdb9 Mon Sep 17 00:00:00 2001 From: Dylan Leard Date: Mon, 5 Apr 2021 11:03:24 -0700 Subject: [PATCH] feat: add computed column to retrive naics code --- .../application_revision_naics_code.sql | 26 +++++++++++++++++++ .../application_revision_naics_code.sql | 7 +++++ schema/sqitch.plan | 1 + .../application_revision_naics_code.sql | 7 +++++ 4 files changed, 41 insertions(+) create mode 100644 schema/deploy/computed_columns/application_revision_naics_code.sql create mode 100644 schema/revert/computed_columns/application_revision_naics_code.sql create mode 100644 schema/verify/computed_columns/application_revision_naics_code.sql diff --git a/schema/deploy/computed_columns/application_revision_naics_code.sql b/schema/deploy/computed_columns/application_revision_naics_code.sql new file mode 100644 index 0000000000..bff955ff24 --- /dev/null +++ b/schema/deploy/computed_columns/application_revision_naics_code.sql @@ -0,0 +1,26 @@ +-- Deploy ggircs-portal:computed_columns/application_revision_naics_code to pg +-- requires: tables/form_result +-- requires: tables/application_revision + +begin; + +create or replace function ggircs_portal.application_revision_naics_code(app ggircs_portal.application_revision) + returns ggircs_portal.naics_code as + $function$ + + with x as ( + select ((form_result.form_result ->> 'operator')::json ->> 'naics')::varchar(1000) as naics + from ggircs_portal.form_result + join ggircs_portal.form_json + on form_result.form_id = form_json.id + and form_json.slug in ('admin', 'admin-2018') + and form_result.application_id = 1 + and form_result.version_number = 1 + ) + select * from ggircs_portal.naics_code where naics_code = (select naics from x); + + $function$ language sql stable; + +comment on function ggircs_portal.application_revision_naics_code(ggircs_portal.application_revision) is 'This computed column returns the associated naics_code table row for the application_revision passed in via the parameters'; + +commit; diff --git a/schema/revert/computed_columns/application_revision_naics_code.sql b/schema/revert/computed_columns/application_revision_naics_code.sql new file mode 100644 index 0000000000..a901231d85 --- /dev/null +++ b/schema/revert/computed_columns/application_revision_naics_code.sql @@ -0,0 +1,7 @@ +-- Revert ggircs-portal:computed_columns/application_revision_naics_code from pg + +begin; + +drop function ggircs_portal.application_revision_naics_code; + +commit; diff --git a/schema/sqitch.plan b/schema/sqitch.plan index 10dfe93345..762118ceb5 100644 --- a/schema/sqitch.plan +++ b/schema/sqitch.plan @@ -300,3 +300,4 @@ computed_columns/application_revision_ordered_form_results 2021-04-09T14:47:48Z computed_columns/application_current_user_can_edit [computed_columns/application_current_user_can_edit@v1.16.0] 2021-04-13T23:05:23Z Matthieu Foucault # drop unnecessary computed column @v2.0.0 2021-04-14T22:14:52Z Kristen Cooke # release v2.0.0 swrs_functions/get_carbon_tax_data [swrs_functions/get_carbon_tax_data@v2.0.0] 2021-04-15T17:07:24Z Dylan Leard # Migration: use fuel_carbon_tax_details_id fkey in fuel_charge join +computed_columns/application_revision_naics_code [tables/form_result tables/application_revision] 2021-04-05T17:14:23Z Dylan Leard # Computed column returns a row from the naics_code table for an application revision diff --git a/schema/verify/computed_columns/application_revision_naics_code.sql b/schema/verify/computed_columns/application_revision_naics_code.sql new file mode 100644 index 0000000000..c751e99636 --- /dev/null +++ b/schema/verify/computed_columns/application_revision_naics_code.sql @@ -0,0 +1,7 @@ +-- Verify ggircs-portal:computed_columns/application_revision_naics_code on pg + +begin; + +select pg_get_functiondef('ggircs_portal.application_revision_naics_code(ggircs_portal.application_revision)'::regprocedure); + +rollback;