add date fields for 008/7-14
[Evergreen.git] / Open-ILS / src / sql / Pg / 030.schema.metabib.sql
index 0468781..a57f305 100644 (file)
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2004-2008  Georgia Public Library Service
+ * Copyright (C) 2007-2008  Equinox Software, Inc.
+ * Mike Rylander <miker@esilibrary.com> 
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
 DROP SCHEMA metabib CASCADE;
 
 BEGIN;
@@ -21,7 +38,7 @@ CREATE TABLE metabib.title_field_entry (
 );
 CREATE TRIGGER metabib_title_field_entry_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.title_field_entry
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('title');
 
 CREATE INDEX metabib_title_field_entry_index_vector_idx ON metabib.title_field_entry USING GIST (index_vector);
 
@@ -35,7 +52,7 @@ CREATE TABLE metabib.author_field_entry (
 );
 CREATE TRIGGER metabib_author_field_entry_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.author_field_entry
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('author');
 
 CREATE INDEX metabib_author_field_entry_index_vector_idx ON metabib.author_field_entry USING GIST (index_vector);
 
@@ -49,7 +66,7 @@ CREATE TABLE metabib.subject_field_entry (
 );
 CREATE TRIGGER metabib_subject_field_entry_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.subject_field_entry
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('subject');
 
 CREATE INDEX metabib_subject_field_entry_index_vector_idx ON metabib.subject_field_entry USING GIST (index_vector);
 
@@ -63,7 +80,7 @@ CREATE TABLE metabib.keyword_field_entry (
 );
 CREATE TRIGGER metabib_keyword_field_entry_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.keyword_field_entry
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('keyword');
 
 CREATE INDEX metabib_keyword_field_entry_index_vector_idx ON metabib.keyword_field_entry USING GIST (index_vector);
 
@@ -77,7 +94,7 @@ CREATE TABLE metabib.series_field_entry (
 );
 CREATE TRIGGER metabib_series_field_entry_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.series_field_entry
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('series');
 
 CREATE INDEX metabib_series_field_entry_index_vector_idx ON metabib.series_field_entry USING GIST (index_vector);
 
@@ -85,18 +102,21 @@ CREATE INDEX metabib_series_field_entry_index_vector_idx ON metabib.series_field
 CREATE TABLE metabib.rec_descriptor (
        id              BIGSERIAL PRIMARY KEY,
        record          BIGINT,
-       item_type       "char",
-       item_form       "char",
-       bib_level       "char",
-       control_type    "char",
-       char_encoding   "char",
-       enc_level       "char",
-       audience        "char",
-       lit_form        "char",
-       type_mat        "char",
+       item_type       TEXT,
+       item_form       TEXT,
+       bib_level       TEXT,
+       control_type    TEXT,
+       char_encoding   TEXT,
+       enc_level       TEXT,
+       audience        TEXT,
+       lit_form        TEXT,
+       type_mat        TEXT,
        cat_form        TEXT,
        pub_status      TEXT,
-       item_lang       TEXT
+       item_lang       TEXT,
+       vr_format       TEXT,
+       date1           TEXT,
+       date2           TEXT
 );
 CREATE INDEX metabib_rec_descriptor_record_idx ON metabib.rec_descriptor (record);
 /* We may not need these...
@@ -107,10 +127,12 @@ CREATE INDEX metabib_rec_descriptor_bib_level_idx ON metabib.rec_descriptor (bib
 CREATE INDEX metabib_rec_descriptor_control_type_idx ON metabib.rec_descriptor (control_type);
 CREATE INDEX metabib_rec_descriptor_char_encoding_idx ON metabib.rec_descriptor (char_encoding);
 CREATE INDEX metabib_rec_descriptor_enc_level_idx ON metabib.rec_descriptor (enc_level);
+CREATE INDEX metabib_rec_descriptor_audience_idx ON metabib.rec_descriptor (audience);
+CREATE INDEX metabib_rec_descriptor_lit_form_idx ON metabib.rec_descriptor (lit_form);
 CREATE INDEX metabib_rec_descriptor_cat_form_idx ON metabib.rec_descriptor (cat_form);
 CREATE INDEX metabib_rec_descriptor_pub_status_idx ON metabib.rec_descriptor (pub_status);
 CREATE INDEX metabib_rec_descriptor_item_lang_idx ON metabib.rec_descriptor (item_lang);
-CREATE INDEX metabib_rec_descriptor_audience_idx ON metabib.rec_descriptor (audience);
+CREATE INDEX metabib_rec_descriptor_vr_format_idx ON metabib.rec_descriptor (vr_format);
 
 */
 
@@ -119,16 +141,18 @@ CREATE TABLE metabib.full_rec (
        id              BIGSERIAL       PRIMARY KEY,
        record          BIGINT          NOT NULL,
        tag             CHAR(3)         NOT NULL,
-       ind1            "char",
-       ind2            "char",
-       subfield        "char",
+       ind1            TEXT,
+       ind2            TEXT,
+       subfield        TEXT,
        value           TEXT            NOT NULL,
        index_vector    tsvector        NOT NULL
 );
+CREATE INDEX metabib_full_rec_tag_subfield_idx ON metabib.full_rec (tag,subfield);
+--CREATE INDEX metabib_full_rec_value_idx ON metabib.full_rec (value);
 CREATE INDEX metabib_full_rec_record_idx ON metabib.full_rec (record);
 CREATE TRIGGER metabib_full_rec_fti_trigger
        BEFORE UPDATE OR INSERT ON metabib.full_rec
-       FOR EACH ROW EXECUTE PROCEDURE tsearch2(index_vector, value);
+       FOR EACH ROW EXECUTE PROCEDURE oils_tsearch2('default');
 
 CREATE INDEX metabib_full_rec_index_vector_idx ON metabib.full_rec USING GIST (index_vector);