Koha-clms/misc
Fridolin Somers 18afaf438b
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@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-02-24 13:14:24 +00:00
..
admin Bug 23193: Make set_password.pl use Koha::Script 2019-06-28 14:34:13 +01:00
bin Revert Bug 11081 - Port Koha::Contrib::Tamil indexer into Koha code base 2016-03-01 16:56:35 +00:00
cronjobs Bug 24527: misc/cronjobs/update_totalissues.pl problem with multiple items 2020-02-24 13:14:24 +00:00
devel Bug 21177: Use koha-conf.xml in misc/devel/update_dbix_class_files.pl 2020-02-10 10:12:15 +00:00
interface_customization Bug 23903: Replace OPAC icons with Font Awesome 2019-10-31 15:40:25 +00:00
load_testing Bug 17829: Move GetMember to Koha::Patron 2017-07-10 13:14:19 -03:00
maintenance Bug 21466: Keep all AVs for a given framework 2020-02-04 13:30:33 +00:00
migration_tools Bug 23084: Replace grep {^$var$} with grep {$_ eq $var} 2020-02-17 10:44:45 +00:00
release_notes Update release notes for 19.11.00 release 2019-11-28 18:25:06 +00:00
search_tools Bug 22826: Allow indexing of individual authorities in Elasticsearch 2019-10-28 12:45:28 +00:00
translator Bug 23084: Replace grep {^$var$} with grep {$_ eq $var} 2020-02-17 10:44:45 +00:00
add_date_fields_to_marc_records.pl Bug 22509: (RM follow-up) Add use of Koha::Script base class 2019-06-24 15:08:33 +01:00
batchCompareMARCvsFrameworks.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
batchDeleteUnusedSubfields.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
batchImportMARCWithBiblionumbers.pl Bug 22721: Remove frameworkcode parameter in GetMarcFromKohaField calls 2019-07-15 11:28:08 +01:00
batchRebuildBiblioTables.pl Bug 11529: Simplify and optimize batchRebuildBiblioTables.pl 2019-08-05 15:03:17 +01:00
batchRebuildItemsTables.pl Bug 22721: Remove frameworkcode parameter in GetMarcFromKohaField calls 2019-07-15 11:28:08 +01:00
batchRepairMissingBiblionumbers.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
batchdeletebiblios.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
check_sysprefs.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
commit_file.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
export_borrowers.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
export_records.pl Bug 20485: Don't account for items timestamps when items not included 2019-05-10 17:22:27 +00:00
exportauth.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
import_patrons.pl Bug 22875: Document verbose option in import_patrons 2019-05-15 12:10:53 +00:00
koha-install-log Bug 17851: Add Elasticsearch config to koha-conf.xml - Add missing entries to koha-install-log 2019-10-07 14:09:10 +01:00
kohalib.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
link_bibs_to_authorities.pl Bug 21957: Add a flag to ModBiblio to avoid linking auths if called from linker 2019-04-18 10:02:03 +00:00
mod_zebraqueue.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
perlmodule_ls.pl Bug 2505 - add strict and warnings to perlmodule_ls 2010-04-21 20:30:52 +12:00
perlmodule_rm.pl Bug 2505 - remove unnecessary -w and replace with use warnings; 2010-04-07 13:27:07 -04:00
recreateIssueStatistics.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
sax_parser_print.pl Bug 17626 (QA followup) 2016-11-22 11:29:07 +00:00
sax_parser_test.pl Bug 6752: Be stricter with utf-8 encoding of output 2012-01-27 12:11:06 +01:00
sip_cli_emulator.pl Bug 22540: (QA follow-up) fixes 2019-10-08 14:33:34 +01:00
stage_file.pl Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
z3950_responder.pl Bug 13937: Add support for Z39.50 responder to the Debian scripts 2019-10-08 14:40:07 +01:00