[open-ils-commits] ***SPAM*** [GIT] Evergreen ILS branch master updated. dc58382c0a8092626b7cd09f67899dc616a7618f
Evergreen Git
git at git.evergreen-ils.org
Fri Feb 14 01:22:26 EST 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, master has been updated
via dc58382c0a8092626b7cd09f67899dc616a7618f (commit)
from 51a4f25915899e592d876c8de08fe5d3751484e4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit dc58382c0a8092626b7cd09f67899dc616a7618f
Author: Mike Rylander <mrylander at gmail.com>
Date: Wed Feb 12 17:19:55 2014 -0500
LP1046026 - Fix duplicate rows in holds pull list
If there are multiple CAPTURE-blocking penalties we could see dupes on the
pull list. This avoids that.
Signed-off-by: Mike Rylander <mrylander at gmail.com>
Signed-off-by: Ben Shum <bshum at biblio.org>
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
index 912996d..b81e847 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
@@ -744,15 +744,20 @@ sub hold_pull_list {
FROM $h_table h
JOIN $a_table a ON (h.current_copy = a.id)
LEFT JOIN $ord_table ord ON (a.location = ord.location AND a.circ_lib = ord.org)
- LEFT JOIN actor.usr_standing_penalty ausp
- ON ( h.usr = ausp.usr AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() ) )
- LEFT JOIN config.standing_penalty csp
- ON ( csp.id = ausp.standing_penalty AND csp.block_list LIKE '%CAPTURE%' )
WHERE a.circ_lib = ?
AND h.capture_time IS NULL
AND h.cancel_time IS NULL
AND (h.expire_time IS NULL OR h.expire_time > NOW())
- AND csp.id IS NULL
+ AND NOT EXISTS (
+ SELECT 1
+ FROM actor.usr_standing_penalty ausp
+ JOIN config.standing_penalty csp ON (
+ csp.id = ausp.standing_penalty
+ AND csp.block_list LIKE '%CAPTURE%'
+ )
+ WHERE h.usr = ausp.usr
+ AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() )
+ )
$status_filter
ORDER BY CASE WHEN ord.position IS NOT NULL THEN ord.position ELSE 999 END, h.request_time
LIMIT $limit
@@ -761,18 +766,23 @@ sub hold_pull_list {
if ($count) {
$select = <<" SQL";
- SELECT count(*)
+ SELECT count(DISTINCT h.id)
FROM $h_table h
JOIN $a_table a ON (h.current_copy = a.id)
- LEFT JOIN actor.usr_standing_penalty ausp
- ON ( h.usr = ausp.usr AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() ) )
- LEFT JOIN config.standing_penalty csp
- ON ( csp.id = ausp.standing_penalty AND csp.block_list LIKE '%CAPTURE%' )
WHERE a.circ_lib = ?
AND h.capture_time IS NULL
AND h.cancel_time IS NULL
AND (h.expire_time IS NULL OR h.expire_time > NOW())
- AND csp.id IS NULL
+ AND NOT EXISTS (
+ SELECT 1
+ FROM actor.usr_standing_penalty ausp
+ JOIN config.standing_penalty csp ON (
+ csp.id = ausp.standing_penalty
+ AND csp.block_list LIKE '%CAPTURE%'
+ )
+ WHERE h.usr = ausp.usr
+ AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() )
+ )
$status_filter
SQL
}
-----------------------------------------------------------------------
Summary of changes:
.../Application/Storage/Publisher/action.pm | 32 +++++++++++++-------
1 files changed, 21 insertions(+), 11 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list