From 484950a284fa4c83360b8457661e5a0ed04d8854 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 22 Feb 2019 11:07:55 -0800 Subject: [PATCH] JBAS-2196 Avoid dupe browse mattype filter Rearrange browse SQL to avoid returning duplicate results when browsing with a mattype (ccvm) filter. Signed-off-by: Bill Erickson --- KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql b/KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql index 56aa797beb..7028932922 100644 --- a/KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql +++ b/KCLS/sql/schema/deploy/2.12-3.2-db-upgrade-schema.sql @@ -5212,12 +5212,15 @@ BEGIN IF ccvm_ctype IS NOT NULL THEN ccvm_filter_join := $x$ - JOIN metabib.browse_entry_def_map mbedm ON (mbedm.entry = mbe.id) - JOIN metabib.record_attr_vector_list vec ON (vec.source = mbedm.source) - JOIN config.coded_value_map ccvm ON ( - ccvm.ctype = $x$ || QUOTE_LITERAL(ccvm_ctype) || $x$ - AND ccvm.id = ANY (vec.vlist) - AND ccvm.code = $x$ || QUOTE_LITERAL(ccvm_code) || $x$ + AND EXISTS ( + SELECT TRUE FROM metabib.browse_entry_def_map mbedm + JOIN metabib.record_attr_vector_list vec ON (vec.source = mbedm.source) + JOIN config.coded_value_map ccvm ON ( + ccvm.ctype = $x$ || QUOTE_LITERAL(ccvm_ctype) || $x$ + AND ccvm.id = ANY (vec.vlist) + AND ccvm.code = $x$ || QUOTE_LITERAL(ccvm_code) || $x$ + ) + WHERE mbedm.entry = mbe.id ) $x$; END IF; @@ -5231,8 +5234,8 @@ SELECT mbe.id, mbe.value, mbe.sort_value FROM metabib.browse_entry mbe - ' || ccvm_filter_join || ' WHERE mbe.metabib_fields_cache && ' || quote_literal(search_field) || + ccvm_filter_join || ' AND '; -- This is the variant of the query for browsing backward. -- 2.11.0