From c02de18155005386245383aaf0592fb39eec9677 Mon Sep 17 00:00:00 2001 From: dbs Date: Wed, 27 Oct 2010 02:25:48 +0000 Subject: [PATCH] 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_1@18483 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; -- 2.11.0