[open-ils-commits] [GIT] Evergreen ILS branch rel_2_4 updated. 20c16ca44b4ed9c974f5a5dbc7ebb917ff5e0d10

Evergreen Git git at git.evergreen-ils.org
Thu Aug 22 11:33:58 EDT 2013


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_4 has been updated
       via  20c16ca44b4ed9c974f5a5dbc7ebb917ff5e0d10 (commit)
      from  26577b32a3e7e8b798ca128a45c2858e02a74612 (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 20c16ca44b4ed9c974f5a5dbc7ebb917ff5e0d10
Author: Thomas Berezansky <tsbere at mvlc.org>
Date:   Thu Nov 1 09:08:38 2012 -0400

    Fix A/T object cache
    
    Signed-off-by: Thomas Berezansky <tsbere at mvlc.org>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Event.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Event.pm
index 0f52b73..b0be015 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Event.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Event.pm
@@ -496,16 +496,20 @@ sub ClearObjectCache {
         my $phash = $_object_by_path_cache{$did};
         for my $path ( keys %$phash ) {
             my $shash = $$phash{$path};
-            for my $step ( keys %$shash ) {
-                my $fhash = $$shash{$step};
-                for my $ffield ( keys %$fhash ) {
-                    my $lhash = $$fhash{$ffield};
-                    for my $lfield ( keys %$lhash ) {
-                        delete $$lhash{$lfield};
+            for my $fhint ( keys %$shash ) {
+                my $hhash = $$shash{$fhint};
+                for my $step ( keys %$hhash ) {
+                    my $fhash = $$hhash{$step};
+                    for my $ffield ( keys %$fhash ) {
+                        my $lhash = $$fhash{$ffield};
+                        for my $lfield ( keys %$lhash ) {
+                            delete $$lhash{$lfield};
+                        }
+                        delete $$fhash{$ffield};
                     }
-                    delete $$fhash{$ffield};
+                    delete $$hhash{$step};
                 }
-                delete $$shash{$step};
+                delete $$shash{$fhint};
             }
             delete $$phash{$path};
         }
@@ -569,14 +573,14 @@ sub _object_by_path {
             my $def_id = $self->event->event_def->id;
             my $str_path = join('.', @$path);
 
-            $obj = $_object_by_path_cache{$def_id}{$str_path}{$step}{$ffield}{$lval} ||
+            $obj = $_object_by_path_cache{$def_id}{$str_path}{$fhint}{$step}{$ffield}{$lval} ||
                 (
                     (grep /cstore/, @{
                         OpenILS::Application->publish_fieldmapper->{$fclass}{controller}
                     }) ? $ed : ($red ||= new_rstore_editor(xact=>1))
                 )->$meth( ($multi) ? { $ffield => $lval } : $lval);
 
-            $_object_by_path_cache{$def_id}{$str_path}{$step}{$ffield}{$lval} ||= $obj;
+            $_object_by_path_cache{$def_id}{$str_path}{$fhint}{$step}{$ffield}{$lval} ||= $obj;
         }
     }
 

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

Summary of changes:
 .../lib/OpenILS/Application/Trigger/Event.pm       |   24 +++++++++++--------
 1 files changed, 14 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list