From: Dan Wells Date: Thu, 20 Feb 2014 16:52:19 +0000 (-0500) Subject: More fixes for public.oils_tsearch2 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=a4ae7bff788af63e00d0c7ab7b10ef4366c59f42;p=working%2FEvergreen.git More fixes for public.oils_tsearch2 First, we don't want to fully exclude records which don't have a metabib.record_attr_vector_list entry, so we do a LEFT JOIN instead for that table. Otherwise, some records error out when ingesting (see placeholder record -1 in the stock data set). Second, let's add a check for 'active' which appears to have been always missing. Signed-off-by: Dan Wells --- diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql b/Open-ILS/src/sql/Pg/030.schema.metabib.sql index be369c79f2..554deb4e5b 100644 --- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql +++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql @@ -2066,24 +2066,28 @@ BEGIN SELECT DISTINCT m.ts_config, m.index_weight FROM config.metabib_class_ts_map m - JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) + LEFT JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) LEFT JOIN config.coded_value_map ccvm ON ( ccvm.ctype IN ('item_lang', 'language') AND ccvm.code = m.index_lang AND r.vlist @> intset(ccvm.id) ) WHERE m.field_class = TG_ARGV[0] + AND m.active AND (m.always OR NOT EXISTS (SELECT 1 FROM config.metabib_field_ts_map WHERE metabib_field = NEW.field)) + AND (m.index_lang IS NULL OR ccvm.id IS NOT NULL) UNION SELECT DISTINCT m.ts_config, m.index_weight FROM config.metabib_field_ts_map m - JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) + LEFT JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) LEFT JOIN config.coded_value_map ccvm ON ( ccvm.ctype IN ('item_lang', 'language') AND ccvm.code = m.index_lang AND r.vlist @> intset(ccvm.id) ) WHERE m.metabib_field = NEW.field + AND m.active + AND (m.index_lang IS NULL OR ccvm.id IS NOT NULL) ORDER BY index_weight ASC LOOP diff --git a/Open-ILS/src/sql/Pg/upgrade/QQQQ.MVF_CRA-upgrade.sql b/Open-ILS/src/sql/Pg/upgrade/QQQQ.MVF_CRA-upgrade.sql index 58d0215f71..dd84a49c71 100644 --- a/Open-ILS/src/sql/Pg/upgrade/QQQQ.MVF_CRA-upgrade.sql +++ b/Open-ILS/src/sql/Pg/upgrade/QQQQ.MVF_CRA-upgrade.sql @@ -620,24 +620,28 @@ BEGIN SELECT DISTINCT m.ts_config, m.index_weight FROM config.metabib_class_ts_map m - JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) + LEFT JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) LEFT JOIN config.coded_value_map ccvm ON ( ccvm.ctype IN ('item_lang', 'language') AND ccvm.code = m.index_lang AND r.vlist @> intset(ccvm.id) ) WHERE m.field_class = TG_ARGV[0] + AND m.active AND (m.always OR NOT EXISTS (SELECT 1 FROM config.metabib_field_ts_map WHERE metabib_field = NEW.field)) + AND (m.index_lang IS NULL OR ccvm.id IS NOT NULL) UNION SELECT DISTINCT m.ts_config, m.index_weight FROM config.metabib_field_ts_map m - JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) + LEFT JOIN metabib.record_attr_vector_list r ON (r.source = NEW.source) LEFT JOIN config.coded_value_map ccvm ON ( ccvm.ctype IN ('item_lang', 'language') AND ccvm.code = m.index_lang AND r.vlist @> intset(ccvm.id) ) WHERE m.metabib_field = NEW.field + AND m.active + AND (m.index_lang IS NULL OR ccvm.id IS NOT NULL) ORDER BY index_weight ASC LOOP