Bug 17234 - updatedatabase.pl's ALTER IGNORE break with mysql 5.7.4+
authorBlou <philippe.blouin@inlibro.com>
Fri, 2 Sep 2016 12:05:48 +0000 (08:05 -0400)
committerKyle M Hall <kyle@bywatersolutions.com>
Wed, 11 Jan 2017 10:52:09 +0000 (10:52 +0000)
commitacf425bbbcb8c22f3655472f90285869c3ad7164
treeec5158fc1f89df60b9bbbba32bd37b54f9b3434c
parent1c225986879648c326408b3ad10b3bcb498b2271
Bug 17234 - updatedatabase.pl's ALTER IGNORE break with mysql 5.7.4+

The doc says: "As of MySQL 5.7.4, the IGNORE clause for ALTER TABLE is removed and its use produces an error."
This fix replaces ALTER IGNORE with ALTER in updatedatabase.pl

To TEST, try an upgrade from 3.18 to 3.22 after installing the latest mysql (at least 5.7.4, by the doc).
Some will fail with error

DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IGNORE TABLE aqbasket
            ADD KEY authorisedby (authorisedby)' at line 1 [for Statement "
        ALTER IGNORE TABLE aqbasket
            ADD KEY authorisedby (authorisedby)
    "] at ./installer/data/mysql/updatedatabase.pl line 10563.

0) Find a database on 3.18, save it.
1) Set your code base to 3.22(or master)
2) run updatedatabase.pl
3) See the errors.
4) Apply the patch
5) Reload the 3.18 database
6) succeed with updatedatabase.pl

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
installer/data/mysql/updatedatabase.pl