From 2f8a6c7ef0c51bce51da770a3a1bb4276c731abb Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Mon, 27 Jan 2020 14:55:54 +0100
Subject: [PATCH] Bug 23070: Increment all priorities in 1 query

---
 C4/Reserves.pm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index fbc2c53fc8..8d59b6b51d 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -1948,10 +1948,8 @@ sub RevertWaitingStatus {
 
     ## Increment the priority of all other non-waiting
     ## reserves for this bib record
-    my $holds = Koha::Holds->search({ biblionumber => $hold->biblionumber, priority => { '>' => 0 } });
-    while ( my $h = $holds->next ) {
-        $h->priority( $h->priority + 1 )->store;
-    }
+    my $holds = Koha::Holds->search({ biblionumber => $hold->biblionumber, priority => { '>' => 0 } })
+                           ->update({ priority => \'priority + 1' });
 
     ## Fix up the currently waiting reserve
     $hold->set( { priority => 1, found => undef, waitingdate => undef } )->store;
-- 
2.11.0