[open-ils-commits] [GIT] Evergreen ILS branch master updated. 1ad56082788211d91030f47147efbbfd3e4be77e

Evergreen Git git at git.evergreen-ils.org
Tue Nov 15 12:02:10 EST 2011


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  1ad56082788211d91030f47147efbbfd3e4be77e (commit)
      from  a3b3409f5f357297848a473dbba024a65b2aa7f0 (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 1ad56082788211d91030f47147efbbfd3e4be77e
Author: Steven Callender <stevecallender at esilibrary.com>
Date:   Wed Oct 19 18:51:14 2011 +0000

    Reshelving update.
    
    Update to the reshelving code to make it faster and utilize the new status change time field on asset.copy.
    
    Signed-off-by: Steven Callender <stevecallender at esilibrary.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

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 6e3ea01..2069f58 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
@@ -162,41 +162,18 @@ sub complete_reshelving {
 		unless (interval_to_seconds( $window ));
 
 	my $setting = actor::org_unit_setting->table;
-	my $circ = action::circulation->table;
 	my $cp = asset::copy->table;
-	my $atc = action::transit_copy->table;
 
 	my $sql = <<"	SQL";
 		UPDATE	$cp
 		  SET	status = 0
 		  WHERE	id IN (
-			SELECT  id
-			  FROM  (SELECT cp.id, MAX(circ.checkin_time), MAX(trans.dest_recv_time)
-					  FROM  $cp cp
-							JOIN $circ circ ON (circ.target_copy = cp.id)
-							LEFT JOIN $atc trans ON (trans.target_copy = cp.id)
-							LEFT JOIN $setting setting
-								ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
-					  WHERE circ.checkin_time IS NOT NULL
-							AND cp.status = 7
-					  GROUP BY 1
-					  HAVING (
-						( ( MAX(circ.checkin_time) > MAX(trans.dest_recv_time) or MAX(trans.dest_recv_time) IS NULL )
-						  AND MAX(circ.checkin_time) < NOW() - CAST( COALESCE( BTRIM( FIRST(setting.value),'"' ), ? )  AS INTERVAL) )
-						OR
-						( MAX(trans.dest_recv_time) > MAX(circ.checkin_time)
-						  AND MAX(trans.dest_recv_time) < NOW() - CAST( COALESCE( BTRIM( FIRST(setting.value),'"' ), ? )  AS INTERVAL) )
-					  )
-					) AS foo
-								UNION ALL
-			SELECT  cp.id
-			  FROM  $cp cp 
-					LEFT JOIN $setting setting
-						ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
-					LEFT JOIN $circ circ ON (circ.target_copy = cp.id)
-			  WHERE cp.status = 7
-					AND circ.id IS NULL
-					AND cp.create_date < NOW() - CAST( COALESCE( BTRIM( setting.value,'"' ), ? )  AS INTERVAL)
+            SELECT cp.id 
+            FROM  $cp cp
+                LEFT JOIN $setting setting
+                    ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval')
+            WHERE cp.status = 7
+                AND cp.status_changed_time < NOW() - CAST( COALESCE( BTRIM( setting.value,'"' ), ? )  AS INTERVAL)
 		  )
 	SQL
 	my $sth = action::circulation->db_Main->prepare_cached($sql);

-----------------------------------------------------------------------

Summary of changes:
 .../Application/Storage/Publisher/action.pm        |   35 +++----------------
 1 files changed, 6 insertions(+), 29 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list