[Koha-patches] [PATCH] Bug 16441: Do not use a package variable to cache C4::Letters::getletter

Srdjan srdjan at catalyst.net.nz
Mon May 23 04:52:38 CEST 2016


From: Jonathan Druart <jonathan.druart at bugs.koha-community.org>

C4::Letters::getletter use a package variable (%letter) to cache letter
returned by the subroutine.
I have not found any direct issues caused by that but it is safer to
remove it.
It won't be a big deal to hit the DBMS to get a valid letter when
needed.

No test plan here, just confirm that the changes make sense.

Signed-off-by: Srdjan <srdjan at catalyst.net.nz>
---
 C4/Letters.pm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/C4/Letters.pm b/C4/Letters.pm
index f327890..1d0c3c0 100644
--- a/C4/Letters.pm
+++ b/C4/Letters.pm
@@ -200,12 +200,6 @@ sub GetLettersAvailableForALibrary {
 
 }
 
-# FIXME: using our here means that a Plack server will need to be
-#        restarted fairly regularly when working with this routine.
-#        A better option would be to use Koha::Cache and use a cache
-#        that actually works in a persistent environment, but as a
-#        short-term fix, our will work.
-our %letter;
 sub getletter {
     my ( $module, $code, $branchcode, $message_transport_type ) = @_;
     $message_transport_type //= '%';
@@ -218,10 +212,6 @@ sub getletter {
     }
     $branchcode //= '';
 
-    if ( my $l = $letter{$module}{$code}{$branchcode}{$message_transport_type} ) {
-        return { %$l }; # deep copy
-    }
-
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare(q{
         SELECT *
@@ -234,7 +224,6 @@ sub getletter {
     my $line = $sth->fetchrow_hashref
       or return;
     $line->{'content-type'} = 'text/html; charset="UTF-8"' if $line->{is_html};
-    $letter{$module}{$code}{$branchcode}{$message_transport_type} = $line;
     return { %$line };
 }
 
-- 
2.7.4


More information about the Koha-patches mailing list