From ca0f495e88601cb759c123843eea18d7151ae4c9 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.06.00.032) 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.06.00.032 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 --- 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.11.0