From 84e991ac778603ae4bfa1ef4147cb76b2d996acc Mon Sep 17 00:00:00 2001 From: Daniel Neis Araujo Date: Mon, 12 May 2014 12:18:03 -0300 Subject: [PATCH] MDL-32543 (backport) Make sure the action and url fields of log table have correct sizes --- lib/db/upgrade.php | 29 +++++++++++++++++++++++++++++ version.php | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index cf09b2abd54..29e17041ff8 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2361,5 +2361,34 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2013051405.10); } + // MDL-32543 Make sure that the log table has correct length for action and url fields. + if ($oldversion < 2013051406.01) { + + $table = new xmldb_table('log'); + + $columns = $DB->get_columns('log'); + if ($columns['action']->max_length < 40) { + $index1 = new xmldb_index('course-module-action', XMLDB_INDEX_NOTUNIQUE, array('course', 'module', 'action')); + if ($dbman->index_exists($table, $index1)) { + $dbman->drop_index($table, $index1); + } + $index2 = new xmldb_index('action', XMLDB_INDEX_NOTUNIQUE, array('action')); + if ($dbman->index_exists($table, $index2)) { + $dbman->drop_index($table, $index2); + } + $field = new xmldb_field('action', XMLDB_TYPE_CHAR, '40', null, XMLDB_NOTNULL, null, null, 'cmid'); + $dbman->change_field_precision($table, $field); + $dbman->add_index($table, $index1); + $dbman->add_index($table, $index2); + } + + if ($columns['url']->max_length < 100) { + $field = new xmldb_field('url', XMLDB_TYPE_CHAR, '100', null, XMLDB_NOTNULL, null, null, 'action'); + $dbman->change_field_precision($table, $field); + } + + upgrade_main_savepoint(true, 2013051406.01); + } + return true; } diff --git a/version.php b/version.php index 3cd3e2cc4ca..fb2aa9749ec 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2013051406.00; // 20130514 = branching date YYYYMMDD - do not modify! +$version = 2013051406.01; // 20130514 = branching date YYYYMMDD - do not modify! // RR = release increments - 00 in DEV branches // .XX = incremental changes