]> git.koha-community.org Git - koha.git/commit
Bug 26424: Better performance of svc/checkouts
authorFridolin Somers <fridolin.somers@biblibre.com>
Thu, 10 Sep 2020 13:12:39 +0000 (15:12 +0200)
committerLucas Gass <lucas@bywatersolutions.com>
Tue, 20 Oct 2020 13:43:49 +0000 (13:43 +0000)
commit69ed68593166a389a3305cb2f39f650b0ff5c86d
tree0b28fabadf5359f2f0c18681cef0b6ff8516a073
parent870369ae5732cc05ac681c70c8ef5191c9946497
Bug 26424: Better performance of svc/checkouts

Ajax script svc/checkouts display checkouts of a patron.
For each item, it fetches a Koha::ItemType object and a Koha::AuthorisedValues object for location,ccode,lost and damaged.

For performance on huge number of checkouts :
Item types should be fetch once before the loop.
authorised values should call Koha::AuthorisedValues->get_description_by_koha_field because it uses a cache.

I've tested with Plack :
Without patch :
100 checkouts = 6 seconds
1000 checkouts = 60 seconds
With patch :
100 checkouts = 5 seconds
1000 checkouts = 44 seconds

Patch also changes the fact that authorised value categories are no longer hardcoded LOC,CCODE,LOST and DAMAGED, they depend on default framework.
Like is doing Bug 26323.

Test plan :
1) Dont apply patch
2) Use sql to define some items lost and damaged
3) Look at checkouts table on a patron with a lot of checkouts
4) Apply patch
5) Look at checkouts table again
6) Check infos are the same : record level item type, item type, location, collection, lost, damaged
7) Check infos are the same in "Number of checkouts by item type"

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 340c8019d2630cc2442b51ae6dfbed5526813699)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
svc/checkouts