From: Chris Sharp Date: Mon, 7 Dec 2020 15:42:03 +0000 (-0500) Subject: SQL: add dewey reports view X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=6e561b7a24a7dc9953f0e4ef50ca075842a60103;p=evergreen%2Fpines.git SQL: add dewey reports view --- 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;