From 60a55b02543a5cd72a4229c610ee0a4a0ea074d2 Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Wed, 31 Aug 2011 14:43:09 -0400 Subject: [PATCH] Bug 6801: checkoverdues returns unnecessary fields, causing slowness Explicitly specifies which fields to return in C4::Overdues::checkoverdues SQL: all of biblio, items, and issues, and everything in biblioitems EXCEPT marc, marcxml and timestamp. --- C4/Overdues.pm | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index 28b135c..918926f 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -165,8 +165,37 @@ Returns a count and a list of overdueitems for a given borrowernumber sub checkoverdues { my $borrowernumber = shift or return; + # don't select biblioitems.marc or biblioitems.marcxml... too slow on large systems my $sth = C4::Context->dbh->prepare( - "SELECT * FROM issues + "SELECT biblio.*, items.*, issues.*, + biblioitems.volume, + bibliotiems.number, + biblioitems.itemtype, + biblioitems.isbn, + biblioitems.issn, + biblioitems.publicationyear, + biblioitems.publishercode, + biblioitems.volumedate, + biblioitems.volumedesc, + biblioitems.collectiontitle, + biblioitems.collectionissn, + biblioitems.collectionvolume, + biblioitems.editionstatement, + biblioitems.editionresponsibility, + biblioitems.illus, + biblioitems.pages, + biblioitems.notes, + biblioitems.size, + biblioitems.place, + biblioitems.lccn, + biblioitems.url, + biblioitems.cn_source, + biblioitems.cn_class, + biblioitems.cn_item, + biblioitems.cn_suffix, + biblioitems.cn_sort, + biblioitems.totalissues + FROM issues LEFT JOIN items ON issues.itemnumber = items.itemnumber LEFT JOIN biblio ON items.biblionumber = biblio.biblionumber LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber -- 1.7.4.1