1 DROP SCHEMA config CASCADE;
6 CREATE TABLE config.bib_source (
8 quality INT CHECK ( quality BETWEEN 0 AND 100 ),
9 source TEXT NOT NULL UNIQUE
12 INSERT INTO config.bib_source (quality, source) VALUES (90, 'OcLC');
13 INSERT INTO config.bib_source (quality, source) VALUES (10, 'System Local');
15 CREATE TABLE config.metabib_field (
16 id SERIAL PRIMARY KEY,
17 field_class TEXT NOT NULL CHECK (lower(field_class) IN ('title','author','subject','keyword')),
18 name TEXT NOT NULL UNIQUE,
22 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'abbreviated', $$//mods:mods/mods:titleInfo[mods:title and (@type='abreviated')]$$ );
23 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'translated', $$//mods:mods/mods:titleInfo[mods:title and (@type='translated')]$$ );
24 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'uniform', $$//mods:mods/mods:titleInfo[mods:title and (@type='uniform')]$$ );
25 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'proper', $$//mods:mods/mods:titleInfo[mods:title and not (@type)]$$ );
26 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'corporate', $$//mods:mods/mods:name[@type='corporate']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
27 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'personal', $$//mods:mods/mods:name[@type='personal']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
28 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'conference', $$//mods:mods/mods:name[@type='conference']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
29 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'other', $$//mods:mods/mods:name[@type='personal']/mods:namePart[not(../mods:role)]$$ );
30 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'geographic', $$//mods:mods/mods:subject/mods:geographic$$ );
31 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'name', $$//mods:mods/mods:subject/mods:name$$ );
32 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'temporal', $$//mods:mods/mods:subject/mods:temporal$$ );
33 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'topic', $$//mods:mods/mods:subject/mods:topic$$ );
34 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'genre', $$//mods:mods/mods:genre$$ );
35 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'keyword', 'keyword', $$//mods:mods/*[not(local-name()='originInfo')]$$ ); -- /* to fool vim */
37 CREATE TABLE config.identification_type (
38 id SERIAL PRIMARY KEY,
39 name TEXT NOT NULL UNIQUE
42 INSERT INTO config.identification_type ( name ) VALUES ( 'Drivers Licence' );
43 INSERT INTO config.identification_type ( name ) VALUES ( 'Voter Card' );
44 INSERT INTO config.identification_type ( name ) VALUES ( 'Two Utility Bills' );
45 INSERT INTO config.identification_type ( name ) VALUES ( 'State ID' );
46 INSERT INTO config.identification_type ( name ) VALUES ( 'SSN' );
48 CREATE TABLE config.rule_circ_duration (
49 id SERIAL PRIMARY KEY,
50 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
51 extended INTERVAL NOT NULL,
52 normal INTERVAL NOT NULL,
53 short INTERVAL NOT NULL,
54 max_renewals INT NOT NULL
57 CREATE TABLE config.rule_max_fine (
58 id SERIAL PRIMARY KEY,
59 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
60 amount NUMERIC(6,2) NOT NULL
63 CREATE TABLE config.rule_recuring_fine (
64 id SERIAL PRIMARY KEY,
65 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
66 high NUMERIC(6,2) NOT NULL,
67 normal NUMERIC(6,2) NOT NULL,
68 low NUMERIC(6,2) NOT NULL
71 CREATE TABLE config.rule_age_hold_protect (
72 id SERIAL PRIMARY KEY,
73 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
74 age INTERVAL NOT NULL,