Bug 10961: Error in GetMarcBiblio can cause severe data loss
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 27 Sep 2013 16:53:39 +0000 (12:53 -0400)
committerChris Cormack <chrisc@catalyst.net.nz>
Mon, 10 Aug 2015 21:07:04 +0000 (09:07 +1200)
commitd0b989a673af3794de410e92a4018ca59462d75b
treeea3d30260e1498045a033bf01fcbe52dff381149
parentf88d0f1cff5a07a9a082194ddc6a57c536d72e88
Bug 10961: Error in GetMarcBiblio can cause severe data loss

A bug in GetMarcBiblio can cause severe data loss if your database has
records where the biblionumber and biblioitemnumber do not match and the
script misc/batchRebuildBiblioTables.pl is run.

The Biblio::GetMarcBiblio makes a kall to
C4::Biblio::_koha_marc_update_bib_ids which passes the biblionumber as
both the biblionumber *and the biblioitemnumber*.

Thus, if your biblio and biblioitem numbers are not always equal, you
will end up with a record where the biblioitemnumber is incorrect in the
record!

This is usually not a severe issue, but since batchRebuildBiblioTables
uses that record to update the database tables, it ends up updating the
wrong biblioitem row!

NOTE: What a horrible, horrible typo that was. Tested this with the
      second patch.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
(cherry picked from commit 298c4c76a5f231d9cc0935b6f14a5f191b727804)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/Biblio.pm