add definition for UPC line item attribute
authorgmc <gmc@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 2 Nov 2010 15:50:13 +0000 (15:50 +0000)
committergmc <gmc@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 2 Nov 2010 15:50:13 +0000 (15:50 +0000)
Useful for providers of audiovisual material that
don't have ISBNs.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>

git-svn-id: svn://svn.open-ils.org/ILS/trunk@18578 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
Open-ILS/src/sql/Pg/200.schema.acq.sql
Open-ILS/src/sql/Pg/upgrade/0456.data.upc-lineitem-attr.sql [new file with mode: 0644]

index 3ceb7f0..f0e4622 100644 (file)
@@ -70,7 +70,7 @@ CREATE TABLE config.upgrade_log (
     install_date    TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
 );
 
-INSERT INTO config.upgrade_log (version) VALUES ('0455'); -- gmc
+INSERT INTO config.upgrade_log (version) VALUES ('0456'); -- gmc
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
index 5dbe400..d40cf91 100644 (file)
@@ -18756,6 +18756,12 @@ ALTER TABLE action.hold_copy_map
 DROP TRIGGER IF EXISTS push_due_date_tgr ON action.circulation;
 CREATE TRIGGER push_due_date_tgr BEFORE INSERT OR UPDATE ON action.circulation FOR EACH ROW EXECUTE PROCEDURE action.push_circ_due_time();
 
+INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove )
+SELECT 'upc', 'UPC', '//*[@tag="024" and @ind1="1"]/*[@code="a"]', $r$(?:-|\s.+$)$r$
+WHERE NOT EXISTS (
+    SELECT 1 FROM acq.lineitem_marc_attr_definition WHERE code = 'upc'
+);
+
 COMMIT;
 
 -- Some operations go outside of the transaction, because they may
index 6184c01..82064a7 100644 (file)
@@ -598,6 +598,7 @@ INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath ) VALUE
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath ) VALUES ('pagination','Pagination','//*[@tag="300"]/*[@code="a"][1]');
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove ) VALUES ('isbn','ISBN','//*[@tag="020"]/*[@code="a"]', $r$(?:-|\s.+$)$r$);
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove ) VALUES ('issn','ISSN','//*[@tag="022"]/*[@code="a"]', $r$(?:-|\s.+$)$r$);
+INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove ) VALUES ('upc', 'UPC', '//*[@tag="024" and @ind1="1"]/*[@code="a"]', $r$(?:-|\s.+$)$r$);
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath ) VALUES ('price','Price','//*[@tag="020" or @tag="022"]/*[@code="c"][1]');
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath ) VALUES ('identifier','Identifier','//*[@tag="001"]');
 INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath ) VALUES ('publisher','Publisher','//*[@tag="260"]/*[@code="b"][1]');
diff --git a/Open-ILS/src/sql/Pg/upgrade/0456.data.upc-lineitem-attr.sql b/Open-ILS/src/sql/Pg/upgrade/0456.data.upc-lineitem-attr.sql
new file mode 100644 (file)
index 0000000..dde72ee
--- /dev/null
@@ -0,0 +1,11 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('0456'); -- gmc
+
+INSERT INTO acq.lineitem_marc_attr_definition ( code, description, xpath, remove )
+SELECT 'upc', 'UPC', '//*[@tag="024" and @ind1="1"]/*[@code="a"]', $r$(?:-|\s.+$)$r$
+WHERE NOT EXISTS (
+    SELECT 1 FROM acq.lineitem_marc_attr_definition WHERE code = 'upc'
+);
+
+COMMIT;