Bug 15877 - C4::Barcodes does not correctly calculate db_max for 'annual' barcodes

This patch alters the MySQL query to remove a max statement which
incorrectly groups full annual barcodes with numeric values.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This commit is contained in:
Nick Clemens 2016-02-24 17:10:02 +00:00 committed by Brendan Gallagher
parent c2669856be
commit a3557fd0f2
1 changed files with 2 additions and 2 deletions

View File

@ -38,8 +38,8 @@ BEGIN {
sub db_max ($;$) {
my $self = shift;
my $query = "SELECT max(substring_index(barcode,'-',-1)) AS chunk,barcode FROM items WHERE barcode LIKE ? GROUP BY barcode";
# FIXME: unreasonably expensive query on large datasets
my $query = "SELECT substring_index(barcode,'-',-1) AS chunk,barcode FROM items WHERE barcode LIKE ? ORDER BY chunk DESC LIMIT 1";
# FIXME: unreasonably expensive query on large datasets (I think removal of group by does this?)
my $sth = C4::Context->dbh->prepare($query);
my ($iso);
if (@_) {