[open-ils-commits] [GIT] Evergreen ILS branch rel_2_3 updated. 3e7f6f8bdf1c11b557df000c22d6809cc8e62698
Evergreen Git
git at git.evergreen-ils.org
Thu Aug 22 11:34:20 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_3 has been updated
via 3e7f6f8bdf1c11b557df000c22d6809cc8e62698 (commit)
from b8f5167c16c91a330625b82da8a0438587a43c7d (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 3e7f6f8bdf1c11b557df000c22d6809cc8e62698
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 1aca73e..5641d69 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/, @{
Fieldmapper->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