LP#1427392: Stamping upgrade script for hard due date value fix
authorBen Shum <ben@evergreener.net>
Wed, 3 May 2017 01:51:13 +0000 (21:51 -0400)
committerBen Shum <ben@evergreener.net>
Wed, 3 May 2017 01:51:13 +0000 (21:51 -0400)
Signed-off-by: Ben Shum <ben@evergreener.net>
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/upgrade/1036.function.config_update_hard_due_dates_ceiling_date_fix.sql [new file with mode: 0644]
Open-ILS/src/sql/Pg/upgrade/xxxx.function.config_update_hard_due_dates_ceiling_date_fix.sql [deleted file]

index c74e223..2655c17 100644 (file)
@@ -90,7 +90,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1035', :eg_version); -- dyrcona/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1036', :eg_version); -- mmorgan/bshum
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/1036.function.config_update_hard_due_dates_ceiling_date_fix.sql b/Open-ILS/src/sql/Pg/upgrade/1036.function.config_update_hard_due_dates_ceiling_date_fix.sql
new file mode 100644 (file)
index 0000000..e9f45c2
--- /dev/null
@@ -0,0 +1,31 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('1036', :eg_version);
+
+CREATE OR REPLACE FUNCTION config.update_hard_due_dates () RETURNS INT AS $func$
+DECLARE
+    temp_value  config.hard_due_date_values%ROWTYPE;
+    updated     INT := 0;
+BEGIN
+    FOR temp_value IN
+      SELECT  DISTINCT ON (hard_due_date) *
+        FROM  config.hard_due_date_values
+        WHERE active_date <= NOW() -- We've passed (or are at) the rollover time
+        ORDER BY hard_due_date, active_date DESC -- Latest (nearest to us) active time
+   LOOP
+        UPDATE  config.hard_due_date
+          SET   ceiling_date = temp_value.ceiling_date
+          WHERE id = temp_value.hard_due_date
+                AND ceiling_date <> temp_value.ceiling_date -- Time is equal if we've already updated the chdd
+                AND temp_value.ceiling_date >= NOW(); -- Don't update ceiling dates to the past
+
+        IF FOUND THEN
+            updated := updated + 1;
+        END IF;
+    END LOOP;
+
+    RETURN updated;
+END;
+$func$ LANGUAGE plpgsql;
+
+COMMIT;
diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.function.config_update_hard_due_dates_ceiling_date_fix.sql b/Open-ILS/src/sql/Pg/upgrade/xxxx.function.config_update_hard_due_dates_ceiling_date_fix.sql
deleted file mode 100644 (file)
index 33ec9e3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-BEGIN;
-
-CREATE OR REPLACE FUNCTION config.update_hard_due_dates () RETURNS INT AS $func$
-DECLARE
-    temp_value  config.hard_due_date_values%ROWTYPE;
-    updated     INT := 0;
-BEGIN
-    FOR temp_value IN
-      SELECT  DISTINCT ON (hard_due_date) *
-        FROM  config.hard_due_date_values
-        WHERE active_date <= NOW() -- We've passed (or are at) the rollover time
-        ORDER BY hard_due_date, active_date DESC -- Latest (nearest to us) active time
-   LOOP
-        UPDATE  config.hard_due_date
-          SET   ceiling_date = temp_value.ceiling_date
-          WHERE id = temp_value.hard_due_date
-                AND ceiling_date <> temp_value.ceiling_date -- Time is equal if we've already updated the chdd
-                AND temp_value.ceiling_date >= NOW(); -- Don't update ceiling dates to the past
-
-        IF FOUND THEN
-            updated := updated + 1;
-        END IF;
-    END LOOP;
-
-    RETURN updated;
-END;
-$func$ LANGUAGE plpgsql;
-
-COMMIT;