From: dbs Date: Wed, 27 Oct 2010 02:24:10 +0000 (+0000) Subject: Prevent ingest errors when asset.uri ID value outstrips asset.call_number X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=30ec61510a530d0a6a1254ec7fa457503910c628;p=working%2FEvergreen.git Prevent ingest errors when asset.uri ID value outstrips asset.call_number We were basing IDs in asset.uri on the max ID of asset.call_number, which occasionally led to major ingest problems as attempts to insert the next ID into asset.uri failed because that ID already existed. Using the max ID from asset.uri for asset.uri inserts seems to make more sense and does resolve that problem. The bigger problem of not using the sequences that are already on these tables to generate the IDs will not be an issue in 2.0, when we move to in-database ingest and can use the normal lastval() approach to populate asset.uri_call_number_map with the new values. git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6@18482 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm b/Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm index 30892b517b..cf13beec7b 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm @@ -419,8 +419,8 @@ sub ro_biblio_ingest_single_object { } if (!$max_uri) { - my $cn = $cstore->request( 'open-ils.cstore.direct.asset.call_number.search' => { id => { '!=' => undef } }, { limit => 1, order_by => { acn => 'id desc' } } )->gather(1); - $max_uri = int($cn->id) + 1000; + my $uri = $cstore->request( 'open-ils.cstore.direct.asset.uri.search' => { id => { '!=' => undef } }, { limit => 1, order_by => { auri => 'id desc' } } )->gather(1); + $max_uri = int($uri->id) + 1000; } $cstore->disconnect;