From 70cd7371474962924d7726b7a1bc51c33a02b7fa Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Wed, 26 Oct 2022 12:44:26 -0400 Subject: [PATCH] Restrict pre-update clearing to the metabib fields specified (defaults to all) Signed-off-by: Mike Rylander --- Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql index 49a2dad30c..cef0081ffe 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql @@ -982,21 +982,19 @@ BEGIN PERFORM * FROM config.internal_flag WHERE name = 'ingest.assume_inserts_only' AND enabled; IF NOT FOUND THEN - -- XXX Need to include field_list in the WHERE clauses below! IF NOT b_skip_search THEN FOR fclass IN SELECT * FROM config.metabib_class LOOP - -- RAISE NOTICE 'Emptying out %', fclass.name; - EXECUTE $$DELETE FROM metabib.$$ || fclass.name || $$_field_entry WHERE source = $$ || bib_id; + EXECUTE $$DELETE FROM metabib.$$ || fclass.name || $$_field_entry WHERE source = $$ || bib_id || $$ AND field = ANY($1)$$ USING field_list; END LOOP; END IF; IF NOT b_skip_facet THEN - DELETE FROM metabib.facet_entry WHERE source = bib_id; + DELETE FROM metabib.facet_entry WHERE source = bib_id AND field = ANY(field_list); END IF; IF NOT b_skip_display THEN - DELETE FROM metabib.display_entry WHERE source = bib_id; + DELETE FROM metabib.display_entry WHERE source = bib_id AND field = ANY(field_list); END IF; IF NOT b_skip_browse THEN - DELETE FROM metabib.browse_entry_def_map WHERE source = bib_id; + DELETE FROM metabib.browse_entry_def_map WHERE source = bib_id AND def = ANY(field_list); END IF; END IF; -- 2.11.0