From: Jason Stephenson Date: Fri, 8 Apr 2022 14:22:18 +0000 (-0400) Subject: LP#1931737: DYM can cause deadlocks w/parrallel ingest 3.7 port X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fcollab%2Fdyrcona%2Flp1931737-dym-deadlock-fix-rel_3_7;p=working%2FEvergreen.git LP#1931737: DYM can cause deadlocks w/parrallel ingest 3.7 port This commit reconciles the database upgrade script with the version of the metabib.reingest_metabib_field_entries function in Evergreen 3.7.x. Signed-off-by: Jason Stephenson --- diff --git a/Open-ILS/src/sql/Pg/upgrade/WWWW.schema.dym_update_and_reify.sql b/Open-ILS/src/sql/Pg/upgrade/WWWW.schema.dym_update_and_reify.sql index 8ff177232d..eb1ae70d4a 100644 --- a/Open-ILS/src/sql/Pg/upgrade/WWWW.schema.dym_update_and_reify.sql +++ b/Open-ILS/src/sql/Pg/upgrade/WWWW.schema.dym_update_and_reify.sql @@ -156,7 +156,7 @@ BEGIN FOR ind_data IN SELECT * FROM biblio.extract_metabib_field_entry( bib_id, ' ', field_types, field_list ) LOOP - -- don't store what has been normalized away + -- don't store what has been normalized away CONTINUE WHEN ind_data.value IS NULL; IF ind_data.field < 0 THEN @@ -185,14 +185,8 @@ BEGIN CONTINUE WHEN ind_data.sort_value IS NULL; value_prepped := metabib.browse_normalize(ind_data.value, ind_data.field); - IF ind_data.browse_nocase THEN - SELECT INTO mbe_row * FROM metabib.browse_entry - WHERE evergreen.lowercase(value) = evergreen.lowercase(value_prepped) AND sort_value = ind_data.sort_value - ORDER BY sort_value, value LIMIT 1; -- gotta pick something, I guess - ELSE - SELECT INTO mbe_row * FROM metabib.browse_entry - WHERE value = value_prepped AND sort_value = ind_data.sort_value; - END IF; + SELECT INTO mbe_row * FROM metabib.browse_entry + WHERE value = value_prepped AND sort_value = ind_data.sort_value; IF FOUND THEN mbe_id := mbe_row.id; @@ -229,7 +223,7 @@ BEGIN IF NOT b_skip_search THEN PERFORM metabib.update_combined_index_vectors(bib_id); - PERFORM search.symspell_dictionary_reify(); + PERFORM search.symspell_dictionary_reify(); -- NOTE: we only use search data for symspell today END IF; RETURN;