CREATE TABLE authority.thesaurus (
code TEXT PRIMARY KEY, -- MARC21 thesaurus code
- control_set INT NOT NULL REFERENCES authority.control_set (id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+ control_set INT REFERENCES authority.control_set (id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
name TEXT NOT NULL UNIQUE, -- i18n
description TEXT -- i18n
);
('s', oils_i18n_gettext('s','Sears List of Subject Headings','at','name'), 1),
('v', oils_i18n_gettext('v','Repertoire de vedettes-matiere','at','name'), 1),
('z', oils_i18n_gettext('z','Other','at','name'), 1),
- ('|', oils_i18n_gettext('|','No attempt to code','at','name'), 1);
+ ('|', oils_i18n_gettext('|','No attempt to code','at','name'), NULL);
INSERT INTO action_trigger.hook ( key, core_type, description, passive ) VALUES (
'reservation.available',
--- /dev/null
+
+-- Allow un-mapped thesauri
+ALTER TABLE authority.thesaurus ALTER COLUMN control_set DROP NOT NULL;
+
+-- Don't tie "No attempt to code" to LoC
+UPDATE authority.thesaurus SET control_set = NULL WHERE code = '|';
+UPDATE authority.record_entry SET control_set = NULL WHERE id IN (SELECT record FROM authority.rec_descriptor WHERE thesaurus = '|');
+