[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
Mon Feb 24 12:32:08 CET 2020
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24527
Jonathan Druart <jonathan.druart at bugs.koha-community.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #98040|0 |1
is obsolete| |
Attachment #99474|0 |1
is obsolete| |
--- Comment #3 from Jonathan Druart <jonathan.druart at bugs.koha-community.org> ---
Created attachment 99486
-->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=99486&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
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel at gmail.com>
Work as described following test plan.
totalissues is calculated correctly, incremental works ok.
No errors
Signed-off-by: Jonathan Druart <jonathan.druart at bugs.koha-community.org>
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list