From f959715a3f5ed566f52c0e25c0e39d9b62322b6f Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Tue, 30 Oct 2012 17:41:09 -0400 Subject: [PATCH] SCPL: bib cleanup script Make sure that all bibs have a valid 901 field, as Tpac will refuse to display a bib that doesn't have one. Signed-off-by: Galen Charlton --- .../sql/Pg/version-upgrade/scpl_bib_cleanup.sql | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/scpl_bib_cleanup.sql diff --git a/Open-ILS/src/sql/Pg/version-upgrade/scpl_bib_cleanup.sql b/Open-ILS/src/sql/Pg/version-upgrade/scpl_bib_cleanup.sql new file mode 100644 index 0000000..f1b439e --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/scpl_bib_cleanup.sql @@ -0,0 +1,8 @@ +CREATE TEMPORARY TABLE bibs_to_fix AS +SELECT id +FROM biblio.record_entry +WHERE (XPATH('//marc:datafield[@tag="901"][1]/marc:subfield[@code="c"]/text()', marc::XML, ARRAY[ARRAY['marc', 'http://www.loc.gov/MARC21/slim']]))[1]::TEXT IS NULL +OR (XPATH('//marc:datafield[@tag="901"][1]/marc:subfield[@code="c"]/text()', marc::XML, ARRAY[ARRAY['marc', 'http://www.loc.gov/MARC21/slim']]))[1]::TEXT <> id::TEXT; + +UPDATE biblio.record_entry SET id = id WHERE id IN (SELECT id FROM bibs_to_fix); + -- 1.7.2.5