From: Mike Rylander Date: Thu, 12 Jul 2018 13:39:36 +0000 (-0400) Subject: Stamping upgrade script X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=1488f22019cedc93f464a06749506b1a2e30a0bd;p=working%2FEvergreen.git Stamping upgrade script Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index c71db97812..5527d7d52a 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -92,7 +92,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 ('1113', :eg_version); -- Dyrcona/csharp/miker +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1114', :eg_version); -- JBoyer/miker CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql b/Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql new file mode 100644 index 0000000000..f288fd7244 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql @@ -0,0 +1,44 @@ +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('1114', :eg_version); + +CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$ +DECLARE + last_circ_stop TEXT; + the_copy asset.copy%ROWTYPE; +BEGIN + + SELECT * INTO the_copy FROM asset.copy WHERE id = cid; + IF NOT FOUND THEN RETURN NULL; END IF; + + IF the_copy.status = 3 THEN -- Lost + RETURN 'LOST'; + ELSIF the_copy.status = 4 THEN -- Missing + RETURN 'MISSING'; + ELSIF the_copy.status = 14 THEN -- Damaged + RETURN 'DAMAGED'; + ELSIF the_copy.status = 17 THEN -- Lost and paid + RETURN 'LOST_AND_PAID'; + END IF; + + SELECT stop_fines INTO last_circ_stop + FROM action.circulation + WHERE target_copy = cid AND checkin_time IS NULL + ORDER BY xact_start DESC LIMIT 1; + + IF FOUND THEN + IF last_circ_stop IN ( + 'CLAIMSNEVERCHECKEDOUT', + 'CLAIMSRETURNED', + 'LONGOVERDUE' + ) THEN + RETURN last_circ_stop; + END IF; + END IF; + + RETURN 'NORMAL'; +END; +$$ LANGUAGE PLPGSQL; + +COMMIT; + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql deleted file mode 100644 index 8ddf6cb24a..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql +++ /dev/null @@ -1,44 +0,0 @@ -BEGIN; - -SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); - -CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$ -DECLARE - last_circ_stop TEXT; - the_copy asset.copy%ROWTYPE; -BEGIN - - SELECT * INTO the_copy FROM asset.copy WHERE id = cid; - IF NOT FOUND THEN RETURN NULL; END IF; - - IF the_copy.status = 3 THEN -- Lost - RETURN 'LOST'; - ELSIF the_copy.status = 4 THEN -- Missing - RETURN 'MISSING'; - ELSIF the_copy.status = 14 THEN -- Damaged - RETURN 'DAMAGED'; - ELSIF the_copy.status = 17 THEN -- Lost and paid - RETURN 'LOST_AND_PAID'; - END IF; - - SELECT stop_fines INTO last_circ_stop - FROM action.circulation - WHERE target_copy = cid AND checkin_time IS NULL - ORDER BY xact_start DESC LIMIT 1; - - IF FOUND THEN - IF last_circ_stop IN ( - 'CLAIMSNEVERCHECKEDOUT', - 'CLAIMSRETURNED', - 'LONGOVERDUE' - ) THEN - RETURN last_circ_stop; - END IF; - END IF; - - RETURN 'NORMAL'; -END; -$$ LANGUAGE PLPGSQL; - -COMMIT; -