age-circs.sql: fix bug with open circ in circ chain
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Mon, 25 Sep 2017 17:47:30 +0000 (10:47 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Mon, 25 Sep 2017 17:47:30 +0000 (10:47 -0700)
maintenance/age-circs.sql

index d4182b8..fc9109b 100644 (file)
@@ -97,7 +97,9 @@ BEGIN
   END IF;
     
   -- renewals create a "chain" of circs; find the last circ in the current chain
-  SELECT MAX(xact_finish) INTO circ_chain_finish FROM action.circ_chain(potential_aged_circ.id);
+  -- but don't use MAX(xact_finish) since the most recent circ might have a null xact_finish
+  SELECT xact_finish INTO circ_chain_finish FROM action.circ_chain(potential_aged_circ.id)
+  ORDER BY xact_start DESC LIMIT 1;
 
   -- user's history.circ.retention_start setting, if any, overrides default cutoff date
   SELECT value INTO usr_keep_start FROM actor.usr_setting WHERE usr = potential_aged_circ.usr AND name = 'history.circ.retention_start'; IF usr_keep_start IS NOT NULL THEN