From e08677a303067ebc369c408adb9381438187a790 Mon Sep 17 00:00:00 2001 From: Dan Scott Date: Wed, 15 Aug 2012 23:56:20 -0400 Subject: [PATCH] Debloat by removing duplicate metabib index entries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The bloaty indexer added rows like so: id | source | field | value -----+--------+-------+---------------------------------------------------------------------- 178 | 47 | 5 | Concertos, piano 179 | 47 | 5 | Rapsodie sur un thème de Paganini, piano, orchestra 180 | 47 | 5 | Concertos, piano Rapsodie sur un thème de Paganini, piano, orchestra Remove all but the last row for every matching source/field rows. Signed-off-by: Dan Scott --- .../XXXX.function.extract_metabib_field_entry.sql | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.extract_metabib_field_entry.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.extract_metabib_field_entry.sql index 251796e451..d8c0828dbc 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.extract_metabib_field_entry.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.extract_metabib_field_entry.sql @@ -132,3 +132,31 @@ END; $func$ LANGUAGE PLPGSQL; +-- Delete all of the duplicate rows that might have been added in 2.2 +DELETE FROM metabib.author_field_entry + WHERE id NOT IN ( + SELECT MAX(id) FROM metabib.author_field_entry + GROUP BY source, field + ) +; + +DELETE FROM metabib.series_field_entry + WHERE id NOT IN ( + SELECT MAX(id) FROM metabib.series_field_entry + GROUP BY source, field + ) +; + +DELETE FROM metabib.subject_field_entry + WHERE id NOT IN ( + SELECT MAX(id) FROM metabib.subject_field_entry + GROUP BY source, field + ) +; + +DELETE FROM metabib.title_field_entry + WHERE id NOT IN ( + SELECT MAX(id) FROM metabib.title_field_entry + GROUP BY source, field + ) +; -- 2.11.0