Bug 11846: Correct database update for restrictions with date 9999-12-31
authorFridolin Somers <fridolin.somers@biblibre.com>
Mon, 24 Feb 2014 11:15:55 +0000 (12:15 +0100)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 23 Apr 2014 15:28:47 +0000 (17:28 +0200)
commit730326e08a32206f38d620a5a97da2fb019342ae
tree2f16d10dd296bd157f42c91c55864993fe82bdc0
parentb3827aa9a858c91b72ccbf3664d79957655d5f74
Bug 11846: Correct database update for restrictions with date 9999-12-31

The borrowers with indefinite restrictions have borrowers.debarred with '9999-12-31'.

Database update for this bug contained :
  INSERT INTO borrower_debarments ( borrowernumber, expiration, comment )
  SELECT borrowernumber, debarred, debarredcomment FROM borrowers WHERE debarred IS NOT NULL

For borrowers where borrowers.debarred is '9999-12-31', this value
is copied into borrower_debarments.expiration.

This is not correct because borrower_debarments.expiration must be
NULL for indefinite restrictions.

This patch corrects update 3.13.00.035 and also adds an update for
databases already updated.

Test plan :
- Use a database with version 3.13.00.000
- Set a borrower as restricted for ever (leave until empty)
- Use sources to master + patch
- Perform updatedatabase
- Look at borrower details, tab "Restrictions"
=> Without patch, you see Expiration 31/12/9999
=> With patch, you see Expiration Infinite

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I tested both DB revisions by resetting Version of my database (and
adding a SetVersion after the revised older dbrev). This was possible
since the debarred field still exists in borrowers. (I have my doubts
about that, but that goes outside the scope of this report.)

Also note that routine _UpdateBorrowerDebarmentFlags puts back 9999-12-31
into borrowers for indefinite restrictions (which looks not very consistent).

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f6131d8e6094ae9e221a9d5750d744ed1f91dd85)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
installer/data/mysql/updatedatabase.pl