Bugzilla – Attachment 136149 Details for
Bug 29454
Stash itemtypes in plugin objects to reduce DB calls
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29454: Use Koha Cache Memory Lite to stash itemtype descriptions for template plugin
Bug-29454-Use-Koha-Cache-Memory-Lite-to-stash-item.patch (text/plain), 2.21 KB, created by
Martin Renvoize (ashimema)
on 2022-06-16 11:27:45 UTC
(
hide
)
Description:
Bug 29454: Use Koha Cache Memory Lite to stash itemtype descriptions for template plugin
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2022-06-16 11:27:45 UTC
Size:
2.21 KB
patch
obsolete
>From 38c6f80aa3bf51d74001762379c61d78994ecb26 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Mon, 13 Dec 2021 14:44:18 +0000 >Subject: [PATCH] Bug 29454: Use Koha Cache Memory Lite to stash itemtype > descriptions for template plugin > >Returns empty string if given item type is undefined or unknown > >To test: >1 - Add 1000 items to a record, of varying item types >2 - Bring up the details page >3 - Note time to load >4 - Apply patch >5 - Reload page and compare to previous >6 - Confirm information is correct >7 - Confirm some performance benefit > >Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > Koha/Template/Plugin/ItemTypes.pm | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > >diff --git a/Koha/Template/Plugin/ItemTypes.pm b/Koha/Template/Plugin/ItemTypes.pm >index 5b3cf1edeb..d2184f8fa7 100644 >--- a/Koha/Template/Plugin/ItemTypes.pm >+++ b/Koha/Template/Plugin/ItemTypes.pm >@@ -22,15 +22,32 @@ use Modern::Perl; > use Template::Plugin; > use base qw( Template::Plugin ); > >+use Koha::Cache::Memory::Lite; > use Koha::ItemTypes; > > sub GetDescription { > my ( $self, $itemtypecode, $want_parent ) = @_; >+ return q{} unless defined $itemtypecode; >+ >+ my $memory_cache = Koha::Cache::Memory::Lite->get_instance; >+ my $cache_key = $want_parent ? "Itemtype_parent_description:".$itemtypecode : "Itemtype_description:" . $itemtypecode; >+ >+ my $cached = $memory_cache->get_from_cache($cache_key); >+ return $cached if $cached; >+ > my $itemtype = Koha::ItemTypes->find( $itemtypecode ); >- return q{} unless $itemtype; >+ unless ($itemtype) { >+ $memory_cache->set_in_cache( $cache_key, q{} ); >+ return q{}; >+ } >+ > my $parent; > $parent = $itemtype->parent if $want_parent; >- return $parent ? $parent->translated_description . "->" . $itemtype->translated_description : $itemtype->translated_description; >+ >+ my $description = $parent ? $parent->translated_description . "->" . $itemtype->translated_description : $itemtype->translated_description; >+ $memory_cache->set_in_cache( $cache_key, $description ); >+ >+ return $description; > } > > sub Get { >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29454
:
127515
|
127520
|
128472
|
136077
|
136078
|
136090
|
136091
| 136149 |
136150
|
136151