3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
5 CREATE OR REPLACE FUNCTION vandelay.flatten_marc_hstore(
7 ) RETURNS HSTORE AS $func$
11 ARRAY_AGG(tag || (COALESCE(subfield, ''))),
15 SELECT tag, subfield, ARRAY_AGG(value)::TEXT AS value
18 CASE WHEN tag = '020' THEN -- caseless -- isbn
19 LOWER((SELECT REGEXP_MATCHES(value,$$^(\S{10,17})$$))[1] || '%')
20 WHEN tag = '022' THEN -- caseless -- issn
21 LOWER((SELECT REGEXP_MATCHES(value,$$^(\S{4}[- ]?\S{4})$$))[1] || '%')
22 WHEN tag = '024' THEN -- caseless -- upc (other)
27 FROM vandelay.flatten_marc(record_xml)) x
28 GROUP BY tag, subfield ORDER BY tag, subfield
32 $func$ LANGUAGE PLPGSQL;