From 015940a4396ac1bce60f75e566105a1df2759cb1 Mon Sep 17 00:00:00 2001 From: Tim Jones Date: Mon, 30 Mar 2020 19:52:22 -0500 Subject: [PATCH] consolidate logic for retention for completed jobs --- src/plans.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plans.js b/src/plans.js index 07f9e5f8..037907c8 100644 --- a/src/plans.js +++ b/src/plans.js @@ -246,6 +246,8 @@ const retryStartAfterCase = `CASE * interval '1' END` +const keepUntilInheritance = 'keepUntil + (keepUntil - startAfter)' + function completeJobs (schema) { return ` WITH results AS ( @@ -260,7 +262,7 @@ function completeJobs (schema) { SELECT '${completedJobPrefix}' || name, ${buildJsonCompletionObject(true)}, - keepUntil + (keepUntil - startAfter) + ${keepUntilInheritance} FROM results WHERE NOT name LIKE '${completedJobPrefix}%' RETURNING 1 @@ -286,7 +288,7 @@ function failJobs (schema) { SELECT '${completedJobPrefix}' || name, ${buildJsonCompletionObject(true)}, - keepUntil + (keepUntil - startAfter) + ${keepUntilInheritance} FROM results WHERE state = '${states.failed}' AND NOT name LIKE '${completedJobPrefix}%' @@ -312,7 +314,7 @@ function expire (schema) { SELECT '${completedJobPrefix}' || name, ${buildJsonCompletionObject()}, - keepUntil + (keepUntil - startAfter) + ${keepUntilInheritance} FROM results WHERE state = '${states.expired}' AND NOT name LIKE '${completedJobPrefix}%'