[open-ils-commits] [GIT] Evergreen ILS branch rel_2_8 updated. 180c9c3582fcebab78ada19e0f0f330a39ad7053

Evergreen Git git at git.evergreen-ils.org
Wed Sep 2 12:03:27 EDT 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_2_8 has been updated
       via  180c9c3582fcebab78ada19e0f0f330a39ad7053 (commit)
       via  8034e6c878954d83a9f1de8c26ae103a992529b5 (commit)
       via  b721b489270efdeedbd211addfaca471bd34b8a1 (commit)
      from  2fb014b923b5f8ffe2ca5b6136770443c1c82997 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 180c9c3582fcebab78ada19e0f0f330a39ad7053
Author: Jason Stephenson <jstephenson at mvlc.org>
Date:   Wed Sep 2 12:00:15 2015 -0400

    LP#1484281: Stamping Upgrade Script.
    
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 919601d..5b2cb1c 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,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 ('0940', :eg_version); -- miker/jboyer/csharp/dyrcona
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0941', :eg_version); -- yboston/dyrcona
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql b/Open-ILS/src/sql/Pg/upgrade/0941.data.authority.control_set_authority_field-remove-sf-e.sql
similarity index 64%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql
rename to Open-ILS/src/sql/Pg/upgrade/0941.data.authority.control_set_authority_field-remove-sf-e.sql
index b33c00b..c2c1224 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0941.data.authority.control_set_authority_field-remove-sf-e.sql
@@ -1,8 +1,6 @@
 BEGIN;
 
-INSERT INTO config.upgrade_log (version) VALUES ('XXXX');
-
--- TODO: ask community if I should be warnign users that my code only fixes 100 & 110 auth tags for default (id=1) control set
+SELECT evergreen.upgrade_deps_block_check('0941', :eg_version);
 
 UPDATE authority.control_set_authority_field SET sf_list = REGEXP_REPLACE( sf_list, 'e', '', 'i') WHERE tag = '100' AND control_set = 1 AND  sf_list ILIKE '%e%';
 

commit 8034e6c878954d83a9f1de8c26ae103a992529b5
Author: Yamil Suarez <yamil at yamil.com>
Date:   Wed Sep 2 11:20:23 2015 -0400

    LP# 1484281 auth control config update release notes
    
    Signed-off-by: Yamil Suarez <yamil at yamil.com>
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/docs/RELEASE_NOTES_NEXT/Cataloging/prevent_authority_propagation_delete.txt b/docs/RELEASE_NOTES_NEXT/Cataloging/prevent_authority_propagation_delete.txt
new file mode 100644
index 0000000..34018b1
--- /dev/null
+++ b/docs/RELEASE_NOTES_NEXT/Cataloging/prevent_authority_propagation_delete.txt
@@ -0,0 +1,47 @@
+Preventing improper data deletion from subfield $e
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This release contains a fix for LP bug 1484281, "authority data may be
+deleted during propagation with current values of
+authority.control_set_authority_field."
+
+For more details see: https://bugs.launchpad.net/evergreen/+bug/1484281
+
+The related upgrade script from this release removes subfield $e
+in authority tags 100 and 110, but only from the Evergreen default
+"LoC" authority control set configuration. If your Evergreen system is
+set up with additional authority control sets besides the default
+"LoC" one, you will need to run the following pieces of SQL code.
+
+First verify that you have an additional control set besides the
+default of "LoC". Run the following SQL code and write down the ID
+number for your additional control set. The number will be an integer
+like 101.
+
+[source,sql]
+--------------------------------------------------------------------
+select *
+from authority.control_set
+where name != 'LoC'
+order by id
+--------------------------------------------------------------------
+
+In the following code you will need to change the two sections of
+"control_set = XYZ". Change the part labeled with the text "XYZ", with
+the ID number from the above query.
+
+If the above query displayed more than one additional authority
+control set, then you will need to run the code below once for each
+additional control set ID number.
+
+[source,sql]
+--------------------------------------------------------------------
+UPDATE authority.control_set_authority_field
+SET sf_list = REGEXP_REPLACE( sf_list, 'e', '', 'i')
+WHERE tag = '100' AND control_set = XYZ AND  sf_list ILIKE '%e%';
+
+UPDATE authority.control_set_authority_field
+SET sf_list = REGEXP_REPLACE( sf_list, 'e', '', 'i')
+WHERE tag = '110' AND control_set = XYZ AND  sf_list ILIKE '%e%';
+--------------------------------------------------------------------
+

commit b721b489270efdeedbd211addfaca471bd34b8a1
Author: Yamil Suarez <yamil at yamil.com>
Date:   Mon Aug 17 16:47:34 2015 -0400

    LP# 1484281 auth control config update to prevent propagated data deletion
    
    Remove subfield 'e' from authority.control_set_authority_field seed values
    
    Removed from the auth tag 100 and 110, which should apply to bib tags
    100,110,600,610,700,710
    
    Added upgrade script, and pgTAP test.
    
    How to test this patch
    ----------------------
    [1] To test this bug you need 1 authority record and at least 1 bib record.
    The auth record needs to have an auth 100 or 110 tag that has a subfield $e,
    for example 100 $aDavis, Miles $ecomposer. (for the record, it is not good
    cataloging practice to have $e in the auth record, but it can happen by mistake.)
    The bib record needs to be have a matching bib 100 or 700 tag with the same
    subfield $a and $e. In addition the matching bib tag has to be linked to the
    authority record, i.e. the bib tag has to have a bib subfield $0 with the DB
    id of the authority record.
    
    [2] If you open up the authority record, in the authority MARC editor, and remove
    the subfield $e; the subfield $e found in the bib record tag will be removed.
    This is a mistake because normally bib record tags 100/110/700/710 do use subfield
    $e, though the subfield $e should not be used in the auth record 100/110 tags.
    
    [3] When this patch is applied, if a cataloger removes a subfield $e from an auth
    100/110 tag, the deletion will not cascade to its linked bibs.
    
    Signed-off-by: Yamil Suarez <yamil at yamil.com>
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index bac8cfc..b38207d 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -11026,9 +11026,9 @@ INSERT INTO authority.control_set_authority_field (id, control_set, main_entry,
 INSERT INTO authority.control_set_authority_field (id, control_set, main_entry, tag, sf_list, display_sf_list, name) VALUES
 
 -- Main entries
-    (1, 1, NULL, '100', 'abcdefklmnopqrstvxyz', 'abcdefklmnopqrstvxyz',
+    (1, 1, NULL, '100', 'abcdfklmnopqrstvxyz', 'abcdefklmnopqrstvxyz',
         oils_i18n_gettext('1','Heading -- Personal Name','acsaf','name')),
-    (2, 1, NULL, '110', 'abcdefgklmnoprstvxyz', 'abcdefgklmnoprstvxyz',
+    (2, 1, NULL, '110', 'abcdfgklmnoprstvxyz', 'abcdefgklmnoprstvxyz',
         oils_i18n_gettext('2','Heading -- Corporate Name','acsaf','name')),
     (3, 1, NULL, '111', 'acdefgklnpqstvxyz', 'acdefgklnpqstvxyz',
         oils_i18n_gettext('3','Heading -- Meeting Name','acsaf','name')),
diff --git a/Open-ILS/src/sql/Pg/t/regress/lp1465830_fix_auth_data_propagation_deletes.pg b/Open-ILS/src/sql/Pg/t/regress/lp1465830_fix_auth_data_propagation_deletes.pg
new file mode 100644
index 0000000..3f44c33
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/t/regress/lp1465830_fix_auth_data_propagation_deletes.pg
@@ -0,0 +1,22 @@
+-- Load the TAP functions.
+BEGIN;
+
+-- Plan the tests.
+SELECT plan(2);
+
+-- Run the tests. 
+SELECT is(
+    (SELECT sf_list FROM authority.control_set_authority_field WHERE tag = '100') ,
+    'abcdfklmnopqrstvxyz',
+    'verify that subfield "e" has been removed'
+);
+
+SELECT is(
+    (SELECT sf_list FROM authority.control_set_authority_field WHERE tag = '110') ,
+    'abcdfgklmnoprstvxyz',
+    'verify that subfield "e" has been removed'
+);
+
+-- Finish the tests and clean up.
+SELECT * FROM finish();
+ROLLBACK;
\ No newline at end of file
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql
new file mode 100644
index 0000000..b33c00b
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.authority.control_set_authority_field-remove-sf-e.sql
@@ -0,0 +1,11 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('XXXX');
+
+-- TODO: ask community if I should be warnign users that my code only fixes 100 & 110 auth tags for default (id=1) control set
+
+UPDATE authority.control_set_authority_field SET sf_list = REGEXP_REPLACE( sf_list, 'e', '', 'i') WHERE tag = '100' AND control_set = 1 AND  sf_list ILIKE '%e%';
+
+UPDATE authority.control_set_authority_field SET sf_list = REGEXP_REPLACE( sf_list, 'e', '', 'i') WHERE tag = '110' AND control_set = 1 AND  sf_list ILIKE '%e%';
+
+COMMIT;

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/950.data.seed-values.sql       |    4 +-
 .../lp1465830_fix_auth_data_propagation_deletes.pg |   22 +++++++++
 ...ity.control_set_authority_field-remove-sf-e.sql |    9 ++++
 .../prevent_authority_propagation_delete.txt       |   47 ++++++++++++++++++++
 5 files changed, 81 insertions(+), 3 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/t/regress/lp1465830_fix_auth_data_propagation_deletes.pg
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0941.data.authority.control_set_authority_field-remove-sf-e.sql
 create mode 100644 docs/RELEASE_NOTES_NEXT/Cataloging/prevent_authority_propagation_delete.txt


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list