From 08ece37ccabb739ff2ae7f34ccd8ea2e88827e18 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 19 Oct 2018 10:51:05 +0200 Subject: [PATCH] Bug 21617: statistics.ccode is not long enough (see also DBRev 18.05.04.001) Warn from a test: DBD::mysql::st execute failed: Data too long for column 'ccode' at row 1 [for Statement "INSERT INTO statistics (datetime, branch, type, value, other, itemnumber, itemtype, location, borrowernumber, proccode, ccode) VALUES (now(),?,?,?,?,?,?,?,?,?,?)" with ParamValues: 0="z8LIyIV", 1='issue', 2=undef, 3='', 4='2584', 5='E_QkzaV5Ay', 6='oDnFRZyog2CS2_XoUB_MB2sBxyI3elbFPC_AekxLPrduGTXKnlNoLKEdQrXzpAw5zD1pGbZshV9ydZup', 7='2000005168', 8='', 9='j9ZDn74omZAoZrTOdC4a05SpWRSHPR2apfss7y5V6QJuQnBEk32XWXCfMp7'] at C4/Stats.pm line 138. The dbrev 18.05.04.001 did not change it from 10 to 80 as in other tables. We should either truncate to 10 chars in Stats.pm or increase to varchar(80). Since it is varchar and not char, we should not be afraid about size. I choose for the latter here. Test plan: Run db rev. Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart Signed-off-by: Nick Clemens (cherry picked from commit ad20a30a831c5f3482f2eed80cc36269ebbef05f) Signed-off-by: Martin Renvoize --- installer/data/mysql/atomicupdate/bug21617.perl | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug21617.perl diff --git a/installer/data/mysql/atomicupdate/bug21617.perl b/installer/data/mysql/atomicupdate/bug21617.perl new file mode 100644 index 0000000000..edbec60b1b --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug21617.perl @@ -0,0 +1,7 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do( "alter table statistics change column ccode ccode varchar(80) default NULL" ); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 21617: Make statistics.ccode longer)\n"; +} -- 2.39.5