[open-ils-commits] r17706 - in trunk/Open-ILS: examples src/extras/import src/perlmods/OpenILS/Application/Cat src/perlmods/OpenILS/Application/Storage/CDBI src/perlmods/OpenILS/WWW src/sql/Pg src/sql/Pg/upgrade xul/staff_client/server/cat (dbs)
svn at svn.open-ils.org
svn at svn.open-ils.org
Wed Sep 15 16:05:01 EDT 2010
Author: dbs
Date: 2010-09-15 16:04:55 -0400 (Wed, 15 Sep 2010)
New Revision: 17706
Added:
trunk/Open-ILS/src/sql/Pg/upgrade/0401.schema.authority_record_entry_drop_arn.sql
Modified:
trunk/Open-ILS/examples/fm_IDL.xml
trunk/Open-ILS/src/extras/import/marc2are.pl
trunk/Open-ILS/src/perlmods/OpenILS/Application/Cat/AuthCommon.pm
trunk/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/authority.pm
trunk/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm
trunk/Open-ILS/src/sql/Pg/002.functions.config.sql
trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
trunk/Open-ILS/src/sql/Pg/011.schema.authority.sql
trunk/Open-ILS/xul/staff_client/server/cat/marcedit.js
Log:
Drop arn_value and arn_source from the authority.record_entry table
Now that we have the unique index by thesaurus on actual headings, arn_value
and arn_source are a dead weight that we can gleefully toss overboard.
Tested with authority record import via Vandelay and authority record
creation during bibliographic editing; confirmed that validating authorities
still works, no apparent visible difference to the world.
Modified: trunk/Open-ILS/examples/fm_IDL.xml
===================================================================
--- trunk/Open-ILS/examples/fm_IDL.xml 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/examples/fm_IDL.xml 2010-09-15 20:04:55 UTC (rev 17706)
@@ -1401,8 +1401,6 @@
<class id="are" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
<fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
<field name="active" reporter:datatype="bool"/>
- <field name="arn_source" />
- <field name="arn_value" />
<field name="create_date" reporter:datatype="timestamp"/>
<field name="creator" />
<field name="deleted" reporter:datatype="bool"/>
Modified: trunk/Open-ILS/src/extras/import/marc2are.pl
===================================================================
--- trunk/Open-ILS/src/extras/import/marc2are.pl 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/extras/import/marc2are.pl 2010-09-15 20:04:55 UTC (rev 17706)
@@ -61,9 +61,6 @@
while ( try { $rec = $batch->next } otherwise { $rec = -1 } ) {
next if ($rec == -1);
my $id = $count;
- my $_001 = $rec->field('001');
- my $arn = $count;
- $arn = $_001->data if ($_001);
(my $xml = $rec->as_xml_record()) =~ s/\n//sog;
$xml =~ s/^<\?xml.+\?\s*>//go;
@@ -81,8 +78,6 @@
$bib->create_date('now');
$bib->editor($user);
$bib->edit_date('now');
- $bib->arn_source('LEGACY');
- $bib->arn_value($arn);
$bib->last_xact_id('IMPORT-'.$starttime);
print OpenSRF::Utils::JSON->perl2JSON($bib)."\n";
Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Cat/AuthCommon.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Cat/AuthCommon.pm 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Cat/AuthCommon.pm 2010-09-15 20:04:55 UTC (rev 17706)
@@ -36,10 +36,6 @@
$rec->edit_date('now');
$rec->marc($U->entityize($marc_doc->documentElement->toString));
- my ($arn, $evt) = find_arn($e, $marc_doc);
- return $evt if $evt;
- $rec->arn_value($arn);
-
$rec = $e->create_authority_record_entry($rec) or return $e->die_event;
# we don't care about the result, just fire off the request
@@ -68,24 +64,4 @@
return $rec;
}
-sub find_arn {
- my($e, $marc_doc) = @_;
-
- my $xpath = '//marc:controlfield[@tag="001"]';
- my ($arn) = $marc_doc->documentElement->findvalue($xpath);
-
- if(my $existing_rec = $e->search_authority_record_entry({arn_value => $arn, deleted => 'f'})->[0]) {
- # this arn is taken
- return (
- undef,
- OpenILS::Event->new(
- 'AUTHORITY_RECORD_NUMBER_EXISTS',
- payload => {existing_record => $existing_rec, arn => $arn}
- )
- );
- }
-
- return ($arn);
-}
-
1;
Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/authority.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/authority.pm 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/authority.pm 2010-09-15 20:04:55 UTC (rev 17706)
@@ -10,7 +10,7 @@
authority::record_entry->table( 'authority_record_entry' );
authority::record_entry->columns( Primary => qw/id/ );
-authority::record_entry->columns( Essential => qw/arn_source arn_value creator editor
+authority::record_entry->columns( Essential => qw/creator editor
create_date edit_date source active
deleted marc last_xact_id/ );
Modified: trunk/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/perlmods/OpenILS/WWW/Exporter.pm 2010-09-15 20:04:55 UTC (rev 17706)
@@ -114,11 +114,6 @@
my $tcn_v = 'tcn_value';
my $tcn_s = 'tcn_source';
- if ($type eq 'authority') {
- $tcn_v = 'arn_value';
- $tcn_s = 'arn_source';
- }
-
my $holdings = $cgi->param('holdings') if ($type eq 'biblio');
my $location = $cgi->param('location') || 'gaaagpl'; # just because...
Modified: trunk/Open-ILS/src/sql/Pg/002.functions.config.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/002.functions.config.sql 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/sql/Pg/002.functions.config.sql 2010-09-15 20:04:55 UTC (rev 17706)
@@ -437,8 +437,6 @@
NEW.marc,
E'(</(?:[^:]*?:)?record>)',
E'<datafield tag="901" ind1=" " ind2=" ">' ||
- '<subfield code="a">' || NEW.arn_value || E'</subfield>' ||
- '<subfield code="b">' || NEW.arn_source || E'</subfield>' ||
'<subfield code="c">' || NEW.id || E'</subfield>' ||
'<subfield code="t">' || TG_TABLE_SCHEMA || E'</subfield>' ||
E'</datafield>\\1'
Modified: trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/002.schema.config.sql 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/sql/Pg/002.schema.config.sql 2010-09-15 20:04:55 UTC (rev 17706)
@@ -68,7 +68,7 @@
install_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
-INSERT INTO config.upgrade_log (version) VALUES ('0400'); -- dbs
+INSERT INTO config.upgrade_log (version) VALUES ('0401'); -- dbs
CREATE TABLE config.bib_source (
id SERIAL PRIMARY KEY,
Modified: trunk/Open-ILS/src/sql/Pg/011.schema.authority.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/011.schema.authority.sql 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/src/sql/Pg/011.schema.authority.sql 2010-09-15 20:04:55 UTC (rev 17706)
@@ -24,8 +24,6 @@
CREATE TABLE authority.record_entry (
id BIGSERIAL PRIMARY KEY,
- arn_source TEXT NOT NULL DEFAULT 'AUTOGEN',
- arn_value TEXT NOT NULL,
creator INT NOT NULL DEFAULT 1,
editor INT NOT NULL DEFAULT 1,
create_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
@@ -39,7 +37,6 @@
);
CREATE INDEX authority_record_entry_creator_idx ON authority.record_entry ( creator );
CREATE INDEX authority_record_entry_editor_idx ON authority.record_entry ( editor );
-CREATE UNIQUE INDEX authority_record_unique_tcn ON authority.record_entry (arn_source,arn_value) WHERE deleted = FALSE OR deleted IS FALSE;
CREATE TRIGGER a_marcxml_is_well_formed BEFORE INSERT OR UPDATE ON authority.record_entry FOR EACH ROW EXECUTE PROCEDURE biblio.check_marcxml_well_formed();
CREATE TRIGGER b_maintain_901 BEFORE INSERT OR UPDATE ON authority.record_entry FOR EACH ROW EXECUTE PROCEDURE maintain_901();
CREATE TRIGGER c_maintain_control_numbers BEFORE INSERT OR UPDATE ON authority.record_entry FOR EACH ROW EXECUTE PROCEDURE maintain_control_numbers();
Added: trunk/Open-ILS/src/sql/Pg/upgrade/0401.schema.authority_record_entry_drop_arn.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/upgrade/0401.schema.authority_record_entry_drop_arn.sql (rev 0)
+++ trunk/Open-ILS/src/sql/Pg/upgrade/0401.schema.authority_record_entry_drop_arn.sql 2010-09-15 20:04:55 UTC (rev 17706)
@@ -0,0 +1,9 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('0401'); -- dbs
+
+DROP INDEX authority.authority_record_unique_tcn;
+ALTER TABLE authority.record_entry DROP COLUMN arn_value;
+ALTER TABLE authority.record_entry DROP COLUMN arn_source;
+
+COMMIT;
Modified: trunk/Open-ILS/xul/staff_client/server/cat/marcedit.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/marcedit.js 2010-09-15 19:35:55 UTC (rev 17705)
+++ trunk/Open-ILS/xul/staff_client/server/cat/marcedit.js 2010-09-15 20:04:55 UTC (rev 17706)
@@ -2575,9 +2575,9 @@
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
win = window.open('/xul/server/cat/marcedit.xul'); // XXX version?
- /* Ugly hack to satisfy arn_value and last_xact_id db schema reqs */
+ // Match marc2are.pl last_xact_id format, roughly
var now = new Date;
- var arn = 'AUTOGEN' + Date.parse(now);
+ var xact_id = 'IMPORT-' + Date.parse(now);
win.xulG = {
"record": {"marc": marcxml, "rtype": "are"},
@@ -2586,8 +2586,7 @@
"func": function(xmlString) {
var rec = new are();
rec.marc(xmlString);
- rec.arn_value(arn);
- rec.last_xact_id(arn);
+ rec.last_xact_id(xact_id);
rec.isnew(true);
pcrud.create(rec, {
"oncomplete": function () {
More information about the open-ils-commits
mailing list