]> git.koha-community.org Git - koha.git/commit
Bug 29702: Fetch group libraries in a single call
authorNick Clemens <nick@bywatersolutions.com>
Wed, 15 Dec 2021 15:44:06 +0000 (15:44 +0000)
committerAndrew Fuerste-Henry <andrew@bywatersolutions.com>
Tue, 25 Jan 2022 18:01:41 +0000 (18:01 +0000)
commit01bf57db77255144d2b455c35d2f935ac1720649
treeb71033865825c875e235b83f4469a610b8bfa4d8
parent4e4a452609e00b12877399a6ac643867d6570ccb
Bug 29702: Fetch group libraries in a single call

The current code gets all group members, then loops through and fetches the library if there is a
branchcode, or recursively calls itself if a group. This slows down performance.

We can utilize the 'libraries' method to get all child libraries at once, then make a check
for child groups separately

To recreate:
 1 - Add 100 items to a biblio
 2 - Define a library group as a hold group
 3 - Add all libraries to the group
 4 - Set 'Default checkout, hold and return policy'->'Hold pickup library match' = 'Any library'
 5 - place a hold on the record and note load time after patron is selected
 6 - Set 'Default checkout, hold and return policy'->'Hold pickup library match' = 'Patrons hold group'
 7 - place a hold, note longer load time after patron selection
 8 - Apply patch
 9 - note improvement
10 - prove -v t/db_dependent/Koha/Libraries.t

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 5b8f125c824312b3540a0c7505d63314589a6d9f)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Koha/Library/Group.pm