3 INSERT INTO config.upgrade_log (version) VALUES ('0265'); -- miker
5 ALTER TABLE config.metabib_field DROP CONSTRAINT metabib_field_field_class_check;
7 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'identifier', oils_i18n_gettext('identifier', 'Identifier', 'cmc', 'name') );
9 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
10 (17, 'identifier', 'accession', oils_i18n_gettext(17, 'Accession Number', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="001"]/text()$$, TRUE );
11 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
12 (18, 'identifier', 'isbn', oils_i18n_gettext(18, 'ISBN', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="020"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
13 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
14 (19, 'identifier', 'issn', oils_i18n_gettext(19, 'ISSN', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="022"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
15 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
16 (20, 'identifier', 'upc', oils_i18n_gettext(20, 'UPC', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="024" and ind1="1"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
17 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
18 (21, 'identifier', 'ismn', oils_i18n_gettext(21, 'ISMN', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="024" and ind1="2"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
19 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
20 (22, 'identifier', 'ean', oils_i18n_gettext(22, 'EAN', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="024" and ind1="3"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
21 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
22 (23, 'identifier', 'isrc', oils_i18n_gettext(23, 'ISRC', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="024" and ind1="0"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
23 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
24 (24, 'identifier', 'sici', oils_i18n_gettext(24, 'SICI', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="024" and ind1="4"]/marcxml:subfield[code="a" or code="z"]/text()$$, TRUE );
25 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES
26 (25, 'identifier', 'bibcn', oils_i18n_gettext(25, 'Local Free-Text Call Number', 'cmf', 'label'), 'marcxml', $$//marcxml:datafield[tag="099"]//text()$$, TRUE );
28 SELECT SETVAL('config.metabib_field_id_seq'::TEXT, (SELECT MAX(id) FROM config.metabib_field), TRUE);
31 DELETE FROM config.metabib_search_alias WHERE alias = 'dc.identifier';
33 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('id','identifier');
34 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.identifier','identifier');
35 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.isbn','identifier', 18);
36 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.issn','identifier', 19);
37 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.upc','identifier', 20);
38 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.callnumber','identifier', 25);
40 CREATE TABLE metabib.identifier_field_entry (
41 id BIGSERIAL PRIMARY KEY,
42 source BIGINT NOT NULL,
45 index_vector tsvector NOT NULL
47 CREATE TRIGGER metabib_identifier_field_entry_fti_trigger
48 BEFORE UPDATE OR INSERT ON metabib.identifier_field_entry
49 FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('keyword');
51 CREATE INDEX metabib_identifier_field_entry_index_vector_idx ON metabib.identifier_field_entry USING GIST (index_vector);
52 CREATE INDEX metabib_identifier_field_entry_value_idx ON metabib.identifier_field_entry
53 (SUBSTRING(value,1,1024)) WHERE index_vector = ''::TSVECTOR;
54 CREATE INDEX metabib_identifier_field_entry_source_idx ON metabib.identifier_field_entry (source);
56 ALTER TABLE metabib.identifier_field_entry ADD CONSTRAINT metabib_identifier_field_entry_source_pkey
57 FOREIGN KEY (source) REFERENCES biblio.record_entry (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
58 ALTER TABLE metabib.identifier_field_entry ADD CONSTRAINT metabib_identifier_field_entry_field_pkey
59 FOREIGN KEY (field) REFERENCES config.metabib_field (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;