Merge branch 'master' of git+ssh://yeti.esilibrary.com/home/evergreen/evergreen-equin...
authorMike Rylander <mrylander@gmail.com>
Thu, 17 Mar 2011 14:30:54 +0000 (10:30 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 17 Mar 2011 14:30:54 +0000 (10:30 -0400)
1  2 
Open-ILS/src/sql/Pg/040.schema.asset.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql

@@@ -282,46 -275,10 +282,46 @@@ $func$ LANGUAGE PLPERLU
  
  INSERT INTO asset.call_number_class (name, normalizer, field) VALUES 
      ('Generic', 'asset.label_normalizer_generic', '050ab,055ab,060ab,070ab,080ab,082ab,086ab,088ab,090,092,096,098,099'),
-     ('Dewey (DDC)', 'asset.label_normalizer_dewey', '080ab,082ab'),
-     ('Library of Congress (LC)', 'asset.label_normalizer_lc', '050ab,055ab')
+     ('Dewey (DDC)', 'asset.label_normalizer_dewey', '080ab,082ab,092abef'),
+     ('Library of Congress (LC)', 'asset.label_normalizer_lc', '050ab,055ab,090abef')
  ;
  
 +CREATE OR REPLACE FUNCTION asset.normalize_affix_sortkey () RETURNS TRIGGER AS $$
 +BEGIN
 +    NEW.label_sortkey := REGEXP_REPLACE(
 +        lpad_number_substrings(
 +            naco_normalize(NEW.label),
 +            '0',
 +            10
 +        ),
 +        E'\\s+',
 +        '',
 +        'g'
 +    );
 +    RETURN NEW;
 +END;
 +$$ LANGUAGE PLPGSQL;
 +
 +CREATE TABLE asset.call_number_prefix (
 +      id                      SERIAL   PRIMARY KEY,
 +      owning_lib          INT                 NOT NULL REFERENCES actor.org_unit (id),
 +      label               TEXT                NOT NULL, -- i18n
 +      label_sortkey   TEXT
 +);
 +CREATE TRIGGER prefix_normalize_tgr BEFORE INSERT OR UPDATE ON asset.call_number_prefix FOR EACH ROW EXECUTE PROCEDURE asset.normalize_affix_sortkey();
 +CREATE UNIQUE INDEX asset_call_number_prefix_once_per_lib ON asset.call_number_prefix (label, owning_lib);
 +CREATE INDEX asset_call_number_prefix_sortkey_idx ON asset.call_number_prefix (label_sortkey);
 +
 +CREATE TABLE asset.call_number_suffix (
 +      id                      SERIAL   PRIMARY KEY,
 +      owning_lib          INT                 NOT NULL REFERENCES actor.org_unit (id),
 +      label               TEXT                NOT NULL, -- i18n
 +      label_sortkey   TEXT
 +);
 +CREATE TRIGGER suffix_normalize_tgr BEFORE INSERT OR UPDATE ON asset.call_number_suffix FOR EACH ROW EXECUTE PROCEDURE asset.normalize_affix_sortkey();
 +CREATE UNIQUE INDEX asset_call_number_suffix_once_per_lib ON asset.call_number_suffix (label, owning_lib);
 +CREATE INDEX asset_call_number_suffix_sortkey_idx ON asset.call_number_suffix (label_sortkey);
 +
  CREATE TABLE asset.call_number (
        id              bigserial PRIMARY KEY,
        creator         BIGINT                          NOT NULL,