From 15aaf0345bbdc413b02bf5cfcf4fd54282682f9a Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Fri, 18 Mar 2022 10:05:25 -0400 Subject: [PATCH] add faster circulation view Signed-off-by: Chris Sharp --- Open-ILS/examples/fm_IDL.xml | 43 ++++++++++++++++++++ Open-ILS/src/sql/Pg/example.reporter-extension.sql | 47 ++++++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 089c68b430..10dd9c2fa6 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -12993,6 +12993,49 @@ SELECT usr, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/sql/Pg/example.reporter-extension.sql b/Open-ILS/src/sql/Pg/example.reporter-extension.sql index 15fe4c5a7c..6deebd9b1a 100644 --- a/Open-ILS/src/sql/Pg/example.reporter-extension.sql +++ b/Open-ILS/src/sql/Pg/example.reporter-extension.sql @@ -120,6 +120,53 @@ SELECT cl.shortname AS circ_lib, LEFT JOIN asset.stat_cat_entry_copy_map sc2 ON (sc2.owning_copy = cp.id AND sc2.stat_cat = 2) LEFT JOIN asset.stat_cat_entry sce2 ON (sce2.id = sc2.stat_cat_entry); +CREATE OR REPLACE VIEW reporter.circulation_view AS +SELECT cl.shortname AS circ_lib, + cl.id AS circ_lib_id, + circ.xact_start, + circ_type.type AS circ_type, + cp.id AS copy_id, + cp.circ_modifier, + ol.shortname AS owning_lib_name, + sl.name AS shelving_location, + p.id AS patron_id, + g.name AS profile_group, + dem.general_division AS demographic_general_division, + circ.id, + cn.id AS call_number, + cn.label AS call_number_label, + call_number_dewey(cn.label) AS dewey, + racnd.dewey_block_tens, + racnd.dewey_block_hundreds, + racnd.dewey_range_tens, + racnd.dewey_range_hundreds, + hl.id AS patron_home_lib, + hl.shortname AS patron_home_lib_shortname, + paddr.county AS patron_county, + paddr.city AS patron_city, + paddr.post_code AS patron_zip, + sc1.stat_cat_entry AS stat_cat_1, + sc2.stat_cat_entry AS stat_cat_2, + sce1.value AS stat_cat_1_value, + sce2.value AS stat_cat_2_value + FROM action.circulation circ + JOIN reporter.circ_type circ_type ON circ.id = circ_type.id + JOIN asset.copy cp ON cp.id = circ.target_copy + JOIN asset.copy_location sl ON cp.location = sl.id + JOIN asset.call_number cn ON cp.call_number = cn.id + JOIN reporter.asset_call_number_dewey racnd ON racnd.call_number = cn.id + JOIN actor.org_unit ol ON cn.owning_lib = ol.id + JOIN actor.org_unit cl ON circ.circ_lib = cl.id + JOIN actor.usr p ON p.id = circ.usr + JOIN actor.org_unit hl ON p.home_ou = hl.id + JOIN permission.grp_tree g ON p.profile = g.id + JOIN reporter.demographic dem ON dem.id = p.id + LEFT JOIN actor.usr_address paddr ON paddr.id = p.billing_address + LEFT JOIN asset.stat_cat_entry_copy_map sc1 ON sc1.owning_copy = cp.id AND sc1.stat_cat = 1 + LEFT JOIN asset.stat_cat_entry sce1 ON sce1.id = sc1.stat_cat_entry + LEFT JOIN asset.stat_cat_entry_copy_map sc2 ON sc2.owning_copy = cp.id AND sc2.stat_cat = 2 + LEFT JOIN asset.stat_cat_entry sce2 ON sce2.id = sc2.stat_cat_entry; + CREATE OR REPLACE VIEW reporter.legacy_cat1 AS SELECT id, owner, -- 2.11.0