[open-ils-commits] ***SPAM*** [GIT] Evergreen ILS branch master updated. 523ac8e56cfb93077e20ba8dfc0fdc0b9b1ec49c

Evergreen Git git at git.evergreen-ils.org
Mon Jan 12 12:00:29 EST 2015


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  523ac8e56cfb93077e20ba8dfc0fdc0b9b1ec49c (commit)
       via  c6ff6f08d84bc4dcf00b2d78b0e8ebc9ba496240 (commit)
       via  a04701774c43dbb0dd07ac5c33bac0581ed7d8fb (commit)
       via  13ca7ffe3b65da038031b9d68015fd78d90db31c (commit)
      from  4d81d268a6bcbdc43b50497a638c80adbad78512 (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 523ac8e56cfb93077e20ba8dfc0fdc0b9b1ec49c
Author: Bill Erickson <berickxx at gmail.com>
Date:   Mon Jan 12 11:58:40 2015 -0500

    LP#1386347 stamping upgrade for hold clear copy maps
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index e9f599d..54df622 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 ('0901', :eg_version); -- berick/bshum
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0902', :eg_version); -- miker/berick
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql b/Open-ILS/src/sql/Pg/upgrade/0902.schema.clear_hold_copy_map.sql
similarity index 88%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
rename to Open-ILS/src/sql/Pg/upgrade/0902.schema.clear_hold_copy_map.sql
index 3604444..390b10e 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0902.schema.clear_hold_copy_map.sql
@@ -1,5 +1,7 @@
 BEGIN;
 
+SELECT evergreen.upgrade_deps_block_check('0902', :eg_version);
+
 CREATE OR REPLACE FUNCTION action.hold_request_clear_map () RETURNS TRIGGER AS $$
 BEGIN
   DELETE FROM action.hold_copy_map WHERE hold = NEW.id;

commit c6ff6f08d84bc4dcf00b2d78b0e8ebc9ba496240
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Dec 11 14:36:11 2014 -0500

    LP#1386347 clear maps at fulfillment time
    
    For backwards compatibility with queue stats info on captured holds,
    clear hold copy maps at fulfillment time instead of capture time, as
    before.
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/090.schema.action.sql b/Open-ILS/src/sql/Pg/090.schema.action.sql
index d56c340..0a1c5bf 100644
--- a/Open-ILS/src/sql/Pg/090.schema.action.sql
+++ b/Open-ILS/src/sql/Pg/090.schema.action.sql
@@ -416,7 +416,7 @@ CREATE TRIGGER hold_request_clear_map_tgr
     FOR EACH ROW
     WHEN (
         (NEW.cancel_time IS NOT NULL AND OLD.cancel_time IS NULL)
-        OR (NEW.capture_time IS NOT NULL AND OLD.capture_time IS NULL)
+        OR (NEW.fulfillment_time IS NOT NULL AND OLD.fulfillment_time IS NULL)
     )
     EXECUTE PROCEDURE action.hold_request_clear_map();
 
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
index ee0191d..3604444 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
@@ -12,7 +12,7 @@ CREATE TRIGGER hold_request_clear_map_tgr
     FOR EACH ROW
     WHEN (
         (NEW.cancel_time IS NOT NULL AND OLD.cancel_time IS NULL)
-        OR (NEW.capture_time IS NOT NULL AND OLD.capture_time IS NULL)
+        OR (NEW.fulfillment_time IS NOT NULL AND OLD.fulfillment_time IS NULL)
     )
     EXECUTE PROCEDURE action.hold_request_clear_map();
 

commit a04701774c43dbb0dd07ac5c33bac0581ed7d8fb
Author: Bill Erickson <berickxx at gmail.com>
Date:   Wed Oct 29 13:08:10 2014 -0400

    LP#1386347 Remove more unneeded map deleters
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm
index 1cf8cc8..869894f 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm
@@ -404,13 +404,6 @@ sub cancel_hold_list {
         $hold->cancel_cause(1); # un-targeted expiration.  Do we need an alternate "target deleted" cause?
         $editor->update_action_hold_request($hold) or return $editor->die_event;
 
-        # delete the copy maps.  
-        my $maps = $editor->search_action_hold_copy_map({hold => $hold->id});
-        for(@$maps) {
-            $editor->delete_action_hold_copy_map($_) 
-                or return $editor->die_event;
-        }
-
         # tell A/T the hold was cancelled.  Don't wait for a response..
         my $at_ses = OpenSRF::AppSession->create('open-ils.trigger');
         $at_ses->request(
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/BibCommon.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/BibCommon.pm
index 0e9da73..c461dba 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/BibCommon.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/BibCommon.pm
@@ -365,12 +365,6 @@ sub delete_rec {
         $hold->cancel_cause(1); # un-targeted expiration.
         $editor->update_action_hold_request($hold) or return $editor->die_event;
 
-        my $maps = $editor->search_action_hold_copy_map({hold => $hold->id});
-        for(@$maps) {
-            $editor->delete_action_hold_copy_map($_) 
-                or return $editor->die_event;
-        }
-
         my $at_ses = OpenSRF::AppSession->create('open-ils.trigger');
         $at_ses->request(
             'open-ils.trigger.event.autocreate',

commit 13ca7ffe3b65da038031b9d68015fd78d90db31c
Author: Mike Rylander <mrylander at gmail.com>
Date:   Wed Oct 29 10:37:29 2014 -0400

    LP#1386347: Clear hold-copy-map efficiently
    
    When capturing or canceling a hold, we can clear the hold-copy-map
    with a trigger, saving the time of the user, and making the business
    logic simpler.
    
    LP#1386347 copy map trigger wants a RETURN
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>
    Signed-off-by: Bill Erickson <berickxx at gmail.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
index 307d962..549e27e 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
@@ -1768,7 +1768,6 @@ sub handle_checkout_holds {
     return $self->bail_on_events($e->event)
         unless $e->update_action_hold_request($hold);
 
-    $holdcode->delete_hold_copy_maps($e, $hold->id);
     return $self->fulfilled_holds([$hold->id]);
 }
 
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
index b308086..1ec6066 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
@@ -826,8 +826,6 @@ sub cancel_hold {
     $e->update_action_hold_request($hold)
         or return $e->die_event;
 
-    delete_hold_copy_maps($self, $e, $hold->id);
-
     $e->commit;
 
     # re-fetch the hold to pick up the real cancel_time (not "now") for A/T
@@ -844,20 +842,6 @@ sub cancel_hold {
     return 1;
 }
 
-sub delete_hold_copy_maps {
-    my $class  = shift;
-    my $editor = shift;
-    my $holdid = shift;
-
-    my $maps = $editor->search_action_hold_copy_map({hold=>$holdid});
-    for(@$maps) {
-        $editor->delete_action_hold_copy_map($_)
-            or return $editor->event;
-    }
-    return undef;
-}
-
-
 my $update_hold_desc = 'The login session is the requestor. '       .
    'If the requestor is different from the usr field on the hold, ' .
    'the requestor must have UPDATE_HOLDS permissions. '             .
@@ -3639,7 +3623,6 @@ sub clear_shelf_process {
             $hold->cancel_time('now');
             $hold->cancel_cause(2); # Hold Shelf expiration
             $e->update_action_hold_request($hold) or return $e->die_event;
-            delete_hold_copy_maps($self, $e, $hold->id) and return $e->die_event;
             push(@canceled_holds, $hold_id);
         }
 
diff --git a/Open-ILS/src/sql/Pg/090.schema.action.sql b/Open-ILS/src/sql/Pg/090.schema.action.sql
index ad78f50..d56c340 100644
--- a/Open-ILS/src/sql/Pg/090.schema.action.sql
+++ b/Open-ILS/src/sql/Pg/090.schema.action.sql
@@ -404,6 +404,22 @@ ALTER TABLE action.hold_request ADD CONSTRAINT sms_check CHECK (
 );
 
 
+CREATE OR REPLACE FUNCTION action.hold_request_clear_map () RETURNS TRIGGER AS $$
+BEGIN
+  DELETE FROM action.hold_copy_map WHERE hold = NEW.id;
+  RETURN NEW;
+END;
+$$ LANGUAGE PLPGSQL;
+
+CREATE TRIGGER hold_request_clear_map_tgr
+    AFTER UPDATE ON action.hold_request
+    FOR EACH ROW
+    WHEN (
+        (NEW.cancel_time IS NOT NULL AND OLD.cancel_time IS NULL)
+        OR (NEW.capture_time IS NOT NULL AND OLD.capture_time IS NULL)
+    )
+    EXECUTE PROCEDURE action.hold_request_clear_map();
+
 CREATE INDEX hold_request_target_idx ON action.hold_request (target);
 CREATE INDEX hold_request_usr_idx ON action.hold_request (usr);
 CREATE INDEX hold_request_pickup_lib_idx ON action.hold_request (pickup_lib);
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
new file mode 100644
index 0000000..ee0191d
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.clear_hold_copy_map.sql
@@ -0,0 +1,20 @@
+BEGIN;
+
+CREATE OR REPLACE FUNCTION action.hold_request_clear_map () RETURNS TRIGGER AS $$
+BEGIN
+  DELETE FROM action.hold_copy_map WHERE hold = NEW.id;
+  RETURN NEW;
+END;
+$$ LANGUAGE PLPGSQL;
+
+CREATE TRIGGER hold_request_clear_map_tgr
+    AFTER UPDATE ON action.hold_request
+    FOR EACH ROW
+    WHEN (
+        (NEW.cancel_time IS NOT NULL AND OLD.cancel_time IS NULL)
+        OR (NEW.capture_time IS NOT NULL AND OLD.capture_time IS NULL)
+    )
+    EXECUTE PROCEDURE action.hold_request_clear_map();
+
+COMMIT;
+

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

Summary of changes:
 .../lib/OpenILS/Application/Cat/AssetCommon.pm     |    7 ------
 .../lib/OpenILS/Application/Cat/BibCommon.pm       |    6 -----
 .../lib/OpenILS/Application/Circ/Circulate.pm      |    1 -
 .../perlmods/lib/OpenILS/Application/Circ/Holds.pm |   17 ---------------
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/090.schema.action.sql          |   16 ++++++++++++++
 .../Pg/upgrade/0902.schema.clear_hold_copy_map.sql |   22 ++++++++++++++++++++
 7 files changed, 39 insertions(+), 32 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0902.schema.clear_hold_copy_map.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list