[Koha-patches] [PATCH] BUG-2393: ENHANCEMENT: SearchMember() uses "cardnumber%" wildcard - if other search-types fail
paul POULAIN
paul.poulain at biblibre.com
Thu Jul 24 19:16:04 CEST 2008
Joe Atzberger a écrit :
> This is a bad idea for any sizable library. Consider a converted
> Dynix library or any using the common 14-digit Codabar format
> identifiers. All patron barcodes would be "2" + 4 digit institution
> code + 9 more digits (typically 8 incremental, 1 checksum). A
> truncated search would return ALL patrons for anything less than 6
> digits.
>
> Let the librarian ask for a truncated search with a "%", and they can
> have it. Otherwise, what we really want is a zebra index with liberal
> rules about truncation, not an SQL query that intentionally steps
> through 50,000 patrons with 13 (or more!) LIKE clauses.
>
> There is no limit on the SearchMember query, and expansions of scope
> on a common operation like this will have predictable detrimental
> effects on performance. While most SearchMember's problems predate
> this patch, I think this is a step in the wrong direction.
hehe... I should have think of that with my sample of "accepting patches
on a stable release"... I almost got it (I asked myself the question :
"it's still indexed", so speedy), but missed the fact we could get
zillions of results. that proves that the more eyes are looking, the
less bugs are staying alive ;-)
Note that we also have the problem with surname search : on a large
library, entering "A" will return all patrons with surname starting by
'A' or firstname starting by 'A'.
So, maybe we should have a 2 step check :
- do the search without %
- if no answer : count the number of results with %. If less than, say
100 => return, if more => ??
cheers.
--
Paul POULAIN
http://www.biblibre.com
Expert en Logiciels Libres pour l'info-doc
NOUVEAU TELEPHONE : 04 91 81 35 08
More information about the Koha-patches
mailing list