From 55d3ae167482cc3bc102e22f1f803bdf0950c72e Mon Sep 17 00:00:00 2001 From: Ben Shum Date: Tue, 20 Nov 2018 09:25:57 -0500 Subject: [PATCH] LP#1643709: Stamping upgrade script Note upgrade script 1137 is only for rel_3_1. In master/rel_3_2 there is upgrade script 1138 for this same function change. Signed-off-by: Ben Shum --- Open-ILS/src/sql/Pg/002.schema.config.sql | 2 +- ...=> 1137.function.global.purge-usr-on-merge.sql} | 37 ++-------------------- 2 files changed, 3 insertions(+), 36 deletions(-) rename Open-ILS/src/sql/Pg/upgrade/{xxxx.function.global.purge-usr-on-merge.sql => 1137.function.global.purge-usr-on-merge.sql} (86%) diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 8e31f9c818..fbe4294704 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 ('1136', :eg_version); -- csharp/bshum +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1137', :eg_version); -- rhamby/berick/bshum CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.function.global.purge-usr-on-merge.sql b/Open-ILS/src/sql/Pg/upgrade/1137.function.global.purge-usr-on-merge.sql similarity index 86% rename from Open-ILS/src/sql/Pg/upgrade/xxxx.function.global.purge-usr-on-merge.sql rename to Open-ILS/src/sql/Pg/upgrade/1137.function.global.purge-usr-on-merge.sql index 2e73fca2df..9bbba92d63 100644 --- a/Open-ILS/src/sql/Pg/upgrade/xxxx.function.global.purge-usr-on-merge.sql +++ b/Open-ILS/src/sql/Pg/upgrade/1137.function.global.purge-usr-on-merge.sql @@ -1,7 +1,8 @@ BEGIN; --- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); +SELECT evergreen.upgrade_deps_block_check('1137', :eg_version); +-- This function upgrade is only for rel_3_1. The next upgrade script 1138 in master/rel_3_2 is for future releases CREATE OR REPLACE FUNCTION actor.usr_merge( src_usr INT, dest_usr INT, del_addrs BOOLEAN, del_cards BOOLEAN, deactivate_cards BOOLEAN ) RETURNS VOID AS $$ DECLARE suffix TEXT; @@ -161,8 +162,6 @@ BEGIN END LOOP; END LOOP; - UPDATE vandelay.session_tracker SET usr = dest_usr WHERE usr = src_usr; - -- money.* PERFORM actor.usr_merge_rows('money.collections_tracker', 'usr', src_usr, dest_usr); PERFORM actor.usr_merge_rows('money.collections_tracker', 'collector', src_usr, dest_usr); @@ -190,7 +189,6 @@ BEGIN -- acq.* UPDATE acq.fund_allocation SET allocator = dest_usr WHERE allocator = src_usr; UPDATE acq.fund_transfer SET transfer_user = dest_usr WHERE transfer_user = src_usr; - UPDATE acq.invoice SET closed_by = dest_usr WHERE closed_by = src_usr; -- transfer picklists the same way we transfer buckets (see above) FOR picklist_row in @@ -321,37 +319,6 @@ BEGIN -- do nothing END; - -- propagate preferred name values from the source user to the - -- destination user, but only when values are not being replaced. - WITH susr AS (SELECT * FROM actor.usr WHERE id = src_usr) - UPDATE actor.usr SET - pref_prefix = - COALESCE(pref_prefix, (SELECT pref_prefix FROM susr)), - pref_first_given_name = - COALESCE(pref_first_given_name, (SELECT pref_first_given_name FROM susr)), - pref_second_given_name = - COALESCE(pref_second_given_name, (SELECT pref_second_given_name FROM susr)), - pref_family_name = - COALESCE(pref_family_name, (SELECT pref_family_name FROM susr)), - pref_suffix = - COALESCE(pref_suffix, (SELECT pref_suffix FROM susr)) - WHERE id = dest_usr; - - -- Copy and deduplicate name keywords - -- String -> array -> rows -> DISTINCT -> array -> string - WITH susr AS (SELECT * FROM actor.usr WHERE id = src_usr), - dusr AS (SELECT * FROM actor.usr WHERE id = dest_usr) - UPDATE actor.usr SET name_keywords = ( - WITH keywords AS ( - SELECT DISTINCT UNNEST( - REGEXP_SPLIT_TO_ARRAY( - COALESCE((SELECT name_keywords FROM susr), '') || ' ' || - COALESCE((SELECT name_keywords FROM dusr), ''), E'\\s+' - ) - ) AS parts - ) SELECT ARRAY_TO_STRING(ARRAY_AGG(kw.parts), ' ') FROM keywords kw - ) WHERE id = dest_usr; - -- Finally, delete the source user PERFORM actor.usr_delete(src_usr,dest_usr); -- 2.11.0