[Koha-bugs] [Bug 24527] misc/cronjobs/update_totalissues.pl problem with multiple items

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Tue Jan 28 16:38:49 CET 2020


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24527

--- Comment #1 from Fridolin SOMERS <fridolin.somers at biblibre.com> ---
Created attachment 98040
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=98040&action=edit
Bug 24527 : misc/cronjobs/update_totalissues.pl problem with multiple items

misc/cronjobs/update_totalissues.pl when issuing statistics table,
no-incremental,  has a problem for biblio with multiple items.
The first SQL query gets the biblios linked to items with issues in statistics
:

SELECT biblio.biblionumber, COUNT(statistics.itemnumber) FROM biblio LEFT JOIN
items ON (biblio.biblionumber=items.biblionumber) LEFT JOIN statistics ON
(items.itemnumber=statistics.itemnumber) WHERE statistics.type = 'issue' $limit
GROUP BY biblio.biblionumber

The second SQL query is :
SELECT biblio.biblionumber, 0 FROM biblio LEFT JOIN items ON
(biblio.biblionumber=items.biblionumber) LEFT JOIN statistics ON
(items.itemnumber=statistics.itemnumber) WHERE statistics.itemnumber IS NULL
GROUP BY biblio.biblionumber

The problem is that this second query will set to 0 where ANY item has no entry
in statistics table.
So when running it sets 0 to the biblio that had a value from first
query.

I think the best fix is to use "WHERE statistics.type = 'issue'" inside que
JOIN :
LEFT JOIN statistics ON (items.itemnumber=statistics.itemnumber AND
statistics.type = 'issue')

Test plan :
1) Begin with an empty database
2) Create a biblio 1 with no items
3) Create a biblio 2 with 3 items
4) Create a biblio 3 with 2 items
5) Checkout and checkin all items of biblio 2
6) Checkout and checkin the firt item of biblio 3
7) run misc/cronjobs/update_totalissues.pl --use-stats -v
8) Check biblio 1 has biblioitems.totalissues = 0
9) Check biblio 2 has biblioitems.totalissues = 3
10) Without patch the biblio 3 has biblioitems.totalissues = 0
11) With patch the biblio 3 has biblioitems.totalissues = 1
12) Check misc/cronjobs/update_totalissues.pl --incremental is OK

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list