From a3b4c1f93e2d50a0774c746503949fd9bacb4ff9 Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Mon, 7 Dec 2020 10:42:03 -0500 Subject: [PATCH] SQL: add dewey reports view --- .../Pg/version-upgrade/pines-post-3.6-upgrade.sql | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/sql/Pg/version-upgrade/pines-post-3.6-upgrade.sql b/Open-ILS/src/sql/Pg/version-upgrade/pines-post-3.6-upgrade.sql index 6cf42b1d8f..264d921ceb 100644 --- a/Open-ILS/src/sql/Pg/version-upgrade/pines-post-3.6-upgrade.sql +++ b/Open-ILS/src/sql/Pg/version-upgrade/pines-post-3.6-upgrade.sql @@ -14,5 +14,30 @@ VALUES ( ) ); -COMMIT; +-- add dewey range reports view +--SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +CREATE OR REPLACE VIEW reporter.asset_call_number_dewey AS + SELECT id AS call_number, + call_number_dewey(label) AS dewey, + CASE + WHEN call_number_dewey(label) ~ '^[0-9][0-9.]*$'::text THEN btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text)) + ELSE NULL::text + END AS dewey_block_tens, + CASE + WHEN call_number_dewey(label) ~ '^[0-9][0-9.]*$'::text THEN btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text)) + ELSE NULL::text + END AS dewey_block_hundreds, + CASE + WHEN call_number_dewey(label) ~ '^[0-9][0-9.]*$'::text THEN (btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text)) || '-'::text) || btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision) + 9::double precision, '000'::text)) + ELSE NULL::text + END AS dewey_range_tens, + CASE + WHEN call_number_dewey(label) ~ '^[0-9][0-9.]*$'::text THEN (btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text)) || '-'::text) || btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision) + 99::double precision, '000'::text)) + ELSE NULL::text + END AS dewey_range_hundreds + FROM asset.call_number + WHERE call_number_dewey(label) ~ '^[0-9]'::text; + +COMMIT; -- 2.11.0