[OPEN-ILS-DEV] Question about another error when upgrading to 2.2 database schema

Lazar, Alexey Vladimirovich alexey.lazar at mnsu.edu
Fri Jan 11 11:29:07 EST 2013


On 2013-01-10, at 12:33 , "Lazar, Alexey Vladimirovich" <alexey.lazar at mnsu.edu> wrote:

> Hi, developers.
> 
> (Using my slightly modified version of the 2.1-2.2-upgrade-db.sql script from the 2.3.2 release tar ball.)
> 
> I am now running into the following error:
> 
> 9921 psql:2.1-2.2-upgrade-db_lazar.sql:9789: ERROR:  duplicate key value violates unique constraint "browse_entry_value_key"
> 9922 DETAIL:  Key (value)=(Walt Disney Studios Home Entertainment ) already exists.
> 9923 CONTEXT:  SQL statement "INSERT INTO metabib.browse_entry (value) VALUES
> 9924                     (metabib.browse_normalize(ind_data.value, ind_data.field))"
> 9925 PL/pgSQL function "reingest_metabib_field_entries" line 32 at SQL statement
> 9926 SQL statement "SELECT metabib.reingest_metabib_field_entries(NEW.id)"
> 9927 PL/pgSQL function "indexing_ingest_or_delete" line 129 at PERFORM
> 9928 SQL statement "UPDATE biblio.record_entry SET marc=marc WHERE id IN (SELECT record
> 9929         FROM
> 9930             metabib.full_rec a JOIN metabib.full_rec b USING (record)
> 9931         WHERE
> 9932             a.tag = 'LDR' AND a.value LIKE '______g%'
> 9933         AND b.tag = '007' AND b.value LIKE 'v___s%')"
> 9934 PL/pgSQL function "inline_code_block" line 24 at SQL statement
> 
> The error appears to be caused by the following chunk of code:
> 
>   9756 -- FIXME: add/check SQL statements to perform the upgrade
>   9757 DO $FUNC$
>   9758 DECLARE
>   9759     same_marc BOOL;
>   9760 BEGIN
>   9761     -- Check if it is already there
>   9762     PERFORM * FROM config.marc21_physical_characteristic_value_map v
>   9763         JOIN config.marc21_physical_characteristic_subfield_map s ON v.ptype_subfield = s.id
>   9764         WHERE s.ptype_key = 'v' AND s.subfield = 'e' AND s.start_pos = '4' AND s.length = '1'
>   9765             AND v.value = 's';
>   9766 
>   9767     -- If it is, bail.
>   9768     IF FOUND THEN
>   9769         RETURN;
>   9770     END IF;
>   9771 
>   9772     -- Otherwise, insert it
>   9773     INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label)
>   9774     SELECT 's',id,'Blu-ray'
>   9775         FROM config.marc21_physical_characteristic_subfield_map
>   9776         WHERE ptype_key = 'v' AND subfield = 'e' AND start_pos = '4' AND length = '1';
>   9777 
>   9778     -- And reingest the blue-ray items so that things see the new value
>   9779     SELECT INTO same_marc enabled FROM config.internal_flag WHERE name = 'ingest.reingest.force_on_same_marc';
>   9780     UPDATE config.internal_flag SET enabled = true WHERE name = 'ingest.reingest.force_on_same_marc';
>   9781     UPDATE biblio.record_entry SET marc=marc WHERE id IN (SELECT record
>   9782         FROM
>   9783             metabib.full_rec a JOIN metabib.full_rec b USING (record)
>   9784         WHERE
>   9785             a.tag = 'LDR' AND a.value LIKE '______g%'
>   9786         AND b.tag = '007' AND b.value LIKE 'v___s%');
>   9787     UPDATE config.internal_flag SET enabled = same_marc WHERE name = 'ingest.reingest.force_on_same_marc';
>   9788 END;
>   9789 $FUNC$;
> 
> While I continue to poke around the related tables and views, I wonder if anyone with deeper knowledge of what's going on here has any helpful troubleshooting suggestions.

Continuing to poke around and an extra set of eyes looking at the problem eventually revealed that this error was related to the the first error I encountered when running this script [1]. That extra entry we had in config.metabib_field first prevented a new row from being added [1] and later caused a duplicate key value to be generated, as seen in this error above. Removing that custom entry fixed the issue and the schema upgrade script worked.

[1] http://libmail.georgialibraries.org/pipermail/open-ils-dev/2013-January/008747.html

Aleksey Lazar
PALS
IS Developer and Intergrator
507-389-2907
http://www.pals.org/
alexey.lazar at mnsu.edu





More information about the Open-ils-dev mailing list