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 <gmc@esilibrary.com>
--- /dev/null
+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);
+