[open-ils-commits] ***SPAM*** [GIT] Evergreen ILS branch master updated. 5df9600d298b4111e44a0de2ba3cb85f7d3db48b

Evergreen Git git at git.evergreen-ils.org
Mon Nov 10 20:31:35 EST 2014


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, master has been updated
       via  5df9600d298b4111e44a0de2ba3cb85f7d3db48b (commit)
       via  99ea63205045a4b3b171dc535986db485251e4c1 (commit)
       via  d38d0e7fb744b914b5df952b79becb17eae44df6 (commit)
       via  6e6540aa3d9fe93cb1bdfb6391cb82da4421cd35 (commit)
      from  3e06e331d3c1a3aab350f1052892638f4d0754c9 (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 5df9600d298b4111e44a0de2ba3cb85f7d3db48b
Author: Ben Shum <bshum at biblio.org>
Date:   Mon Nov 10 20:27:11 2014 -0500

    LP#778989: Stamping upgrade script for copy location trigger
    
    Signed-off-by: Ben Shum <bshum at biblio.org>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 5692c40..ffe5cdb 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0895', :eg_version); -- miker/csharp/bshum
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0896', :eg_version); -- tsbere/csharp/bshum
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql b/Open-ILS/src/sql/Pg/upgrade/0896.correct_copy_location.sql
similarity index 94%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
rename to Open-ILS/src/sql/Pg/upgrade/0896.correct_copy_location.sql
index f2d4011..a48bb88 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0896.correct_copy_location.sql
@@ -1,3 +1,7 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('0896', :eg_version);
+
 CREATE OR REPLACE FUNCTION asset.acp_location_fixer()
 RETURNS TRIGGER AS $$
 DECLARE
@@ -25,3 +29,4 @@ CREATE TRIGGER acp_location_fixer_trig
     BEFORE INSERT OR UPDATE OF location, call_number, circ_lib ON asset.copy
     FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();
 
+COMMIT;

commit 99ea63205045a4b3b171dc535986db485251e4c1
Author: Chris Sharp <csharp at georgialibraries.org>
Date:   Tue Aug 26 15:39:00 2014 -0400

    LP#778989: Adding DROP TRIGGER IF EXISTS to allow for smooth upgrades.
    
    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
    Signed-off-by: Ben Shum <bshum at biblio.org>

diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
index c0a8fc5..f2d4011 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
@@ -19,6 +19,8 @@ BEGIN
 END;
 $$ LANGUAGE plpgsql;
 
+DROP TRIGGER IF EXISTS acp_location_fixer_trig ON asset.copy;
+
 CREATE TRIGGER acp_location_fixer_trig
     BEFORE INSERT OR UPDATE OF location, call_number, circ_lib ON asset.copy
     FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();

commit d38d0e7fb744b914b5df952b79becb17eae44df6
Author: Thomas Berezansky <tsbere at mvlc.org>
Date:   Tue Aug 26 12:14:11 2014 -0400

    LP#778989: Add circ lib to location fixer
    
    Because the circ lib is valid for picking locations.
    
    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
    Signed-off-by: Ben Shum <bshum at biblio.org>

diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql
index 3eaea6b..2381fdb 100644
--- a/Open-ILS/src/sql/Pg/040.schema.asset.sql
+++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql
@@ -175,11 +175,14 @@ DECLARE
     new_copy_location INT;
 BEGIN
     IF (TG_OP = 'UPDATE') THEN
-        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number THEN
+        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number AND NEW.circ_lib = OLD.circ_lib THEN
             RETURN NEW;
         END IF;
     END IF;
     SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance((SELECT owning_lib FROM asset.call_number WHERE id = NEW.call_number)) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    IF new_copy_location IS NULL THEN
+        SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance(NEW.circ_lib) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    END IF;
     IF new_copy_location IS NOT NULL THEN
         NEW.location = new_copy_location;
     END IF;
@@ -188,7 +191,7 @@ END;
 $$ LANGUAGE plpgsql;
 
 CREATE TRIGGER acp_location_fixer_trig
-    BEFORE INSERT OR UPDATE ON asset.copy
+    BEFORE INSERT OR UPDATE OF location, call_number, circ_lib ON asset.copy
     FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();
 
 CREATE TABLE asset.stat_cat_sip_fields (
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
index 4a5d4d0..c0a8fc5 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
@@ -4,11 +4,14 @@ DECLARE
     new_copy_location INT;
 BEGIN
     IF (TG_OP = 'UPDATE') THEN
-        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number THEN
+        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number AND NEW.circ_lib = OLD.circ_lib THEN
             RETURN NEW;
         END IF;
     END IF;
     SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance((SELECT owning_lib FROM asset.call_number WHERE id = NEW.call_number)) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    IF new_copy_location IS NULL THEN
+        SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance(NEW.circ_lib) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    END IF;
     IF new_copy_location IS NOT NULL THEN
         NEW.location = new_copy_location;
     END IF;
@@ -17,6 +20,6 @@ END;
 $$ LANGUAGE plpgsql;
 
 CREATE TRIGGER acp_location_fixer_trig
-    BEFORE INSERT OR UPDATE ON asset.copy
+    BEFORE INSERT OR UPDATE OF location, call_number, circ_lib ON asset.copy
     FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();
 

commit 6e6540aa3d9fe93cb1bdfb6391cb82da4421cd35
Author: Thomas Berezansky <tsbere at mvlc.org>
Date:   Wed Feb 1 16:07:05 2012 -0500

    LP#778989: Attempt to find "Correct" copy location
    
    This adds a trigger to asset.copy that on insert or change of the location
    and/or call number tries to find an identically named copy location that
    is scoped to the owning library of the copy.
    
    If it does not find one it uses the location provided.
    
    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
    Signed-off-by: Ben Shum <bshum at biblio.org>

diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql
index dfe75bf..3eaea6b 100644
--- a/Open-ILS/src/sql/Pg/040.schema.asset.sql
+++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql
@@ -169,6 +169,28 @@ CREATE TRIGGER acp_created_trig
     BEFORE INSERT ON asset.copy
     FOR EACH ROW EXECUTE PROCEDURE asset.acp_created();
 
+CREATE OR REPLACE FUNCTION asset.acp_location_fixer()
+RETURNS TRIGGER AS $$
+DECLARE
+    new_copy_location INT;
+BEGIN
+    IF (TG_OP = 'UPDATE') THEN
+        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number THEN
+            RETURN NEW;
+        END IF;
+    END IF;
+    SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance((SELECT owning_lib FROM asset.call_number WHERE id = NEW.call_number)) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    IF new_copy_location IS NOT NULL THEN
+        NEW.location = new_copy_location;
+    END IF;
+    RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE TRIGGER acp_location_fixer_trig
+    BEFORE INSERT OR UPDATE ON asset.copy
+    FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();
+
 CREATE TABLE asset.stat_cat_sip_fields (
     field   CHAR(2) PRIMARY KEY,
     name    TEXT    NOT NULL,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
new file mode 100644
index 0000000..4a5d4d0
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.correct_copy_location.sql
@@ -0,0 +1,22 @@
+CREATE OR REPLACE FUNCTION asset.acp_location_fixer()
+RETURNS TRIGGER AS $$
+DECLARE
+    new_copy_location INT;
+BEGIN
+    IF (TG_OP = 'UPDATE') THEN
+        IF NEW.location = OLD.location AND NEW.call_number = OLD.call_number THEN
+            RETURN NEW;
+        END IF;
+    END IF;
+    SELECT INTO new_copy_location acpl.id FROM asset.copy_location acpl JOIN actor.org_unit_ancestors_distance((SELECT owning_lib FROM asset.call_number WHERE id = NEW.call_number)) aouad ON acpl.owning_lib = aouad.id WHERE name = (SELECT name FROM asset.copy_location WHERE id = NEW.location) ORDER BY distance LIMIT 1;
+    IF new_copy_location IS NOT NULL THEN
+        NEW.location = new_copy_location;
+    END IF;
+    RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+CREATE TRIGGER acp_location_fixer_trig
+    BEFORE INSERT OR UPDATE ON asset.copy
+    FOR EACH ROW EXECUTE PROCEDURE asset.acp_location_fixer();
+

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/040.schema.asset.sql           |   25 +++++++++++++++
 .../sql/Pg/upgrade/0896.correct_copy_location.sql  |   32 ++++++++++++++++++++
 3 files changed, 58 insertions(+), 1 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0896.correct_copy_location.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list