From 59cf30c9f3c72ccd3357253ef3b95000e27ae324 Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Wed, 1 Aug 2012 13:34:33 -0400 Subject: [PATCH] Bug 8550: Z39.50 searches for ISBN/ISSN problematic Rather than treating ISBN and ISSN as the same, this patch breaks them out into separate parts of the query, as well as changing the truncation attribute to enable right truncation (the correct behavior for the ISBN field in MARC21, and valid behavior in UNIMARC). Signed-off-by: Joseph Alway Signed-off-by: Paul Poulain --- cataloguing/z3950_search.pl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl index a44b5ea50c..5e22636b5a 100755 --- a/cataloguing/z3950_search.pl +++ b/cataloguing/z3950_search.pl @@ -117,10 +117,14 @@ else { my $s = 0; my $query = ''; my $nterms; - if ($isbn || $issn) { - $term=$isbn if ($isbn); - $term=$issn if ($issn); - $query .= " \@or \@attr 1=8 \"$term\" \@attr 1=7 \"$term\" "; + if ($isbn) { + $term=$isbn; + $query .= " \@attr 1=7 \@attr 5=1 \"$term\" "; + $nterms++; + } + if ($issn) { + $term=$issn; + $query .= " \@attr 1=8 \@attr 5=1 \"$term\" "; $nterms++; } if ($title) { -- 2.39.5