From 823b807ac9e20706bdd3931962e126affc72cbeb Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Wed, 12 Oct 2011 15:35:31 -0400 Subject: [PATCH] Bug 7016: CanBookBeReserved uses GetItemsInfo unnecessarily CanBookBeReserved uses the very heavy-weight function GetItemsInfo to simply retrieve the itemnumbers attached to a given biblio. The function get_itemnumbers_of() is much lighter-weight and returns the required information; switching to it will reduce the overall system resource cost of placing a hold. Signed-off-by: Nicole C. Engard Signed-off-by: Chris Cormack --- C4/Reserves.pm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index f7a2e72dee..f12c23f009 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -383,17 +383,15 @@ sub GetReservesFromBorrowernumber { sub CanBookBeReserved{ my ($borrowernumber, $biblionumber) = @_; - my @items = GetItemsInfo($biblionumber); - - #get items linked via host records - my $marcrecord= GetMarcBiblio($biblionumber); - my @hostitemInfos = GetHostItemsInfo($marcrecord); - if (@hostitemInfos){ - push (@items,@hostitemInfos); - } + my @items = get_itemnumbers_of($biblionumber); + #get items linked via host records + my @hostitems = get_hostitemnumbers_of($biblionumber); + if (@hostitems){ + push (@items,@hostitems); + } foreach my $item (@items){ - return 1 if CanItemBeReserved($borrowernumber, $item->{itemnumber}); + return 1 if CanItemBeReserved($borrowernumber, $item); } return 0; } -- 2.39.5