From 61d9ddbb3cdf782ab0fe3e8f0932071acfc5b1bd Mon Sep 17 00:00:00 2001 From: Amit Gupta Date: Mon, 29 Jun 2015 21:42:08 +0530 Subject: [PATCH] Bug 14472 - Wrong ISSN search index in record matching rules To Test --------- 1) Apply the patch 2) Export some MARC bibliographic records from Koha 3) Import those same MARC bibliographic records using the "ISSN(022$a)" record matching rule. 4) The incoming records should match perfectly 5) Check the mysql tables (marc_matchers, matchpoints, matcher_matchpoints, matchpoint_components, matchpoint_component_norms) to make sure the values were inserted as expected. For new Koha installation 1) create the koha database 2) Go to the staff client page, and do a "fresh" install making sure to select lots of optional marc 21 matching rules so the .../marc21/optional/marc21_default_matching_rules.sql gets triggered. 3) Check the mysql tables (marc_matchers, matchpoints, matcher_matchpoints, matchpoint_components, matchpoint_component_norms) to make sure the values were inserted as expected. Bug 14472 - Added Atomic Update to fix wrong issn search index - Fix comments Signed-off-by: Chris Cormack Signed-off-by: Jonathan Druart --- .../bug_14472_Wrong_ISSN_search_index_in_record_matching_rules.sql | 1 + .../de-DE/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../en/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../es-ES/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../marcflavour/marc21/Optionnel/marc21_default_matching_rules.sql | 2 +- .../it-IT/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../nb-NO/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../pl-PL/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../ru-RU/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- .../uk-UA/marcflavour/marc21/optional/marc21_default_matching_rules.sql | 2 +- 10 files changed, 10 insertions(+), 9 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_14472_Wrong_ISSN_search_index_in_record_matching_rules.sql diff --git a/installer/data/mysql/atomicupdate/bug_14472_Wrong_ISSN_search_index_in_record_matching_rules.sql b/installer/data/mysql/atomicupdate/bug_14472_Wrong_ISSN_search_index_in_record_matching_rules.sql new file mode 100644 index 0000000..a9af1f3 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_14472_Wrong_ISSN_search_index_in_record_matching_rules.sql @@ -0,0 +1 @@ +UPDATE matchpoints SET search_index ='issn' where matcher_id = (SELECT matcher_id FROM marc_matchers WHERE code = 'ISSN'); diff --git a/installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4d39a5e..b863911 100644 --- a/installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/en/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/en/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 801f04a..2e538a4 100644 --- a/installer/data/mysql/en/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/en/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4d39a5e..b863911 100644 --- a/installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_default_matching_rules.sql b/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_default_matching_rules.sql index 4d39a5e..b863911 100644 --- a/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_default_matching_rules.sql +++ b/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4d39a5e..b863911 100644 --- a/installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4d39a5e..b863911 100644 --- a/installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 266a300..083efdf 100644 --- a/installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/ru-RU/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/ru-RU/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4f41421..5415075 100644 --- a/installer/data/mysql/ru-RU/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/ru-RU/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; diff --git a/installer/data/mysql/uk-UA/marcflavour/marc21/optional/marc21_default_matching_rules.sql b/installer/data/mysql/uk-UA/marcflavour/marc21/optional/marc21_default_matching_rules.sql index 4f41421..5415075 100644 --- a/installer/data/mysql/uk-UA/marcflavour/marc21/optional/marc21_default_matching_rules.sql +++ b/installer/data/mysql/uk-UA/marcflavour/marc21/optional/marc21_default_matching_rules.sql @@ -29,7 +29,7 @@ INSERT INTO matchpoint_component_norms (matchpoint_component_id, sequence, norm_ INSERT INTO marc_matchers (code, description, record_type, threshold) VALUES ('ISSN', '022$a', 'biblio', 1000); -INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'isbn', 1000 FROM marc_matchers; +INSERT INTO matchpoints (matcher_id, search_index, score) SELECT MAX(matcher_id), 'issn', 1000 FROM marc_matchers; INSERT INTO matcher_matchpoints SELECT MAX(matcher_id), MAX(matchpoint_id) FROM matchpoints; INSERT INTO matchpoint_components (matchpoint_id, sequence, tag, subfields) SELECT MAX(matchpoint_id), 1, '022', 'a' FROM matchpoints; -- 2.1.0