[open-ils-commits] [GIT] Evergreen ILS branch rel_2_1 updated. 712d0985a1d57a30082cd66e07c928784b268c81
Evergreen Git
git at git.evergreen-ils.org
Mon Aug 22 12:52:26 EDT 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, rel_2_1 has been updated
via 712d0985a1d57a30082cd66e07c928784b268c81 (commit)
from 67ade50876bd801d118c341358f5796d811bb13a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 712d0985a1d57a30082cd66e07c928784b268c81
Author: Mike Rylander <mrylander at gmail.com>
Date: Mon Aug 22 12:47:34 2011 -0400
Further upgrade script cleanup: address hold matrix DDL/DML ordering; use code instead of id for permission addition; include recent updates for lasso visiblity
Signed-off-by: Mike Rylander <mrylander at gmail.com>
diff --git a/Open-ILS/src/sql/Pg/2.0-2.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/2.0-2.1-upgrade-db.sql
index e436bc6..23bf41a 100644
--- a/Open-ILS/src/sql/Pg/2.0-2.1-upgrade-db.sql
+++ b/Open-ILS/src/sql/Pg/2.0-2.1-upgrade-db.sql
@@ -10,8 +10,16 @@ BEGIN;
ALTER TABLE permission.grp_tree
ADD COLUMN hold_priority INT NOT NULL DEFAULT 0;
--- 0430
-ALTER TABLE config.hold_matrix_matchpoint ADD COLUMN strict_ou_match BOOL NOT NULL DEFAULT FALSE;
+-- 0430 and friends
+ALTER TABLE config.hold_matrix_matchpoint
+ ADD COLUMN strict_ou_match BOOL NOT NULL DEFAULT FALSE,
+ ADD COLUMN marc_bib_level text,
+ DROP CONSTRAINT hous_once_per_grp_loc_mod_marc,
+ DROP CONSTRAINT hold_matrix_matchpoint_marc_form_fkey,
+ DROP CONSTRAINT hold_matrix_matchpoint_marc_type_fkey,
+ DROP CONSTRAINT hold_matrix_matchpoint_marc_vr_format_fkey;
+
+
-- Replace all uses of PostgreSQL's built-in LOWER() function with
-- a more locale-savvy PLPERLU evergreen.lowercase() function
@@ -644,9 +652,6 @@ ALTER TABLE config.circ_matrix_matchpoint
DROP CONSTRAINT circ_matrix_matchpoint_marc_type_fkey,
DROP CONSTRAINT circ_matrix_matchpoint_marc_vr_format_fkey;
-ALTER TABLE config.hold_matrix_matchpoint
- DROP CONSTRAINT hous_once_per_grp_loc_mod_marc;
-
-- Clean up tables before making normalized index
CREATE OR REPLACE FUNCTION action.cleanup_matrix_matchpoints() RETURNS void AS $func$
@@ -1420,10 +1425,6 @@ INSERT INTO config.coded_value_map (ctype,code,value,description)
ALTER TABLE config.i18n_locale DROP CONSTRAINT i18n_locale_marc_code_fkey;
-ALTER TABLE config.hold_matrix_matchpoint DROP CONSTRAINT hold_matrix_matchpoint_marc_form_fkey;
-ALTER TABLE config.hold_matrix_matchpoint DROP CONSTRAINT hold_matrix_matchpoint_marc_type_fkey;
-ALTER TABLE config.hold_matrix_matchpoint DROP CONSTRAINT hold_matrix_matchpoint_marc_vr_format_fkey;
-
DROP TABLE config.language_map;
DROP TABLE config.bib_level_map;
DROP TABLE config.item_form_map;
@@ -4920,8 +4921,6 @@ ALTER TABLE config.circ_matrix_weights ALTER COLUMN marc_bib_level DROP DEFAULT;
ALTER TABLE config.hold_matrix_weights ALTER COLUMN marc_bib_level DROP DEFAULT;
-ALTER TABLE config.hold_matrix_matchpoint ADD COLUMN marc_bib_level text;
-
CREATE OR REPLACE FUNCTION action.find_circ_matrix_matchpoint( context_ou INT, item_object asset.copy, user_object actor.usr, renewal BOOL ) RETURNS action.found_circ_matrix_matchpoint AS $func$
DECLARE
cn_object asset.call_number%ROWTYPE;
@@ -6006,7 +6005,7 @@ INSERT INTO permission.perm_list
,(505, 'UPDATE_WORKSTATION', oils_i18n_gettext(505, 'Allows update of a workstation during workstation registration override.', 'ppl', 'description'))
,(506, 'VIEW_USER_SETTING_TYPE', oils_i18n_gettext(506, 'Allows viewing of configurable user setting types.', 'ppl', 'description'))
) AS np(id,code,description)
- LEFT JOIN permission.perm_list pl USING (id)
+ LEFT JOIN permission.perm_list pl USING (code)
WHERE pl.id IS NULL;
;
@@ -8459,6 +8458,79 @@ AND format = 'mods32';
\qecho AND subfield IN ('4', 'e')
\qecho ) a;
+-- Resolves an error in calculating copy counts for org lassos
+-- Per LP 790329
+INSERT INTO config.upgrade_log (version) VALUES ('0603');
+
+-- FIXME: add/check SQL statements to perform the upgrade
+CREATE OR REPLACE FUNCTION asset.opac_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
+DECLARE
+ ans RECORD;
+ trans INT;
+BEGIN
+ SELECT 1 INTO trans FROM biblio.record_entry b JOIN config.bib_source src ON (b.source = src.id) WHERE src.transcendant AND b.id = rid;
+
+ FOR ans IN SELECT u.org_unit AS id FROM actor.org_lasso_map AS u WHERE lasso = i_lasso LOOP
+ RETURN QUERY
+ SELECT -1,
+ ans.id,
+ COUNT( av.id ),
+ SUM( CASE WHEN cp.status IN (0,7,12) THEN 1 ELSE 0 END ),
+ COUNT( av.id ),
+ trans
+ FROM
+ actor.org_unit_descendants(ans.id) d
+ JOIN asset.opac_visible_copies av ON (av.record = rid AND av.circ_lib = d.id)
+ JOIN asset.copy cp ON (cp.id = av.copy_id)
+ GROUP BY 1,2,6;
+
+ IF NOT FOUND THEN
+ RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+ END IF;
+
+ END LOOP;
+
+ RETURN;
+END;
+$f$ LANGUAGE PLPGSQL;
+
+
+-- Staff record copy counts also triggered an SQL error for org lassos
+-- Per LP790329
+--
+INSERT INTO config.upgrade_log (version) VALUES ('0604');
+
+CREATE OR REPLACE FUNCTION asset.staff_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
+DECLARE
+ ans RECORD;
+ trans INT;
+BEGIN
+ SELECT 1 INTO trans FROM biblio.record_entry b JOIN config.bib_source src ON (b.source = src.id) WHERE src.transcendant AND b.id = rid;
+
+ FOR ans IN SELECT u.org_unit AS id FROM actor.org_lasso_map AS u WHERE lasso = i_lasso LOOP
+ RETURN QUERY
+ SELECT -1,
+ ans.id,
+ COUNT( cp.id ),
+ SUM( CASE WHEN cp.status IN (0,7,12) THEN 1 ELSE 0 END ),
+ COUNT( cp.id ),
+ trans
+ FROM
+ actor.org_unit_descendants(ans.id) d
+ JOIN asset.copy cp ON (cp.circ_lib = d.id AND NOT cp.deleted)
+ JOIN asset.call_number cn ON (cn.record = rid AND cn.id = cp.call_number AND NOT cn.deleted)
+ GROUP BY 1,2,6;
+
+ IF NOT FOUND THEN
+ RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+ END IF;
+
+ END LOOP;
+
+ RETURN;
+END;
+$f$ LANGUAGE PLPGSQL;
+
COMMIT;
-- 0529
@@ -8503,3 +8575,4 @@ CREATE TRIGGER mat_summary_upd_tgr AFTER UPDATE ON money.check_payment FOR EACH
CREATE TRIGGER mat_summary_del_tgr BEFORE DELETE ON money.check_payment FOR EACH ROW EXECUTE PROCEDURE money.materialized_summary_payment_del ('check_payment');
+
-----------------------------------------------------------------------
Summary of changes:
Open-ILS/src/sql/Pg/2.0-2.1-upgrade-db.sql | 97 ++++++++++++++++++++++++----
1 files changed, 85 insertions(+), 12 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list