From 5525d29693c667ca06e3e5cb2eb5fef3d8802330 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 21 Jan 2015 15:59:10 +0100 Subject: [PATCH] Bug 13606: Upgrade sessions.a_session to MEDIUMTEXT The previous patch fixed partially the problem. If you try to update more that 1000 records, you will get the same error. This patch change the type of sessions.a_session from TEXT (64kb) MEDIUMTEXT (32mb). Test plan: 1/ Try to modify a huge amount of records (1000 should be enough) 2/ Confirm it worked! --- installer/data/mysql/kohastructure.sql | 2 +- installer/data/mysql/updatedatabase.pl | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 82868e7..67af998 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -1978,7 +1978,7 @@ CREATE TABLE `serial` ( DROP TABLE IF EXISTS sessions; CREATE TABLE sessions ( `id` varchar(32) NOT NULL, - `a_session` text NOT NULL, + `a_session` mediumtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index fe32a8c..dc18531 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9679,6 +9679,15 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.19.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do(q| + ALTER TABLE sessions CHANGE COLUMN a_session a_session MEDIUMTEXT + |); + print "Upgrade to $DBversion done (Bug 13606: Upgrade sessions.a_session to MEDIUMTEXT)\n"; + SetVersion($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) -- 2.1.0