From 530cd21dc2f96e058a395b645bd4202fb712df37 Mon Sep 17 00:00:00 2001 From: gbateson Date: Thu, 27 Apr 2006 08:45:34 +0000 Subject: [PATCH] Fix "data truncated errors" by setting set NULL values in int field to 0 before changing to NOT NULL DEFAULT 0 --- mod/hotpot/db/mysql.php | 28 +++++----------------------- mod/hotpot/db/update_to_v2.php | 32 ++++++++++++++++++++++++++++++++ mod/hotpot/version.php | 2 +- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/mod/hotpot/db/mysql.php b/mod/hotpot/db/mysql.php index 23fe22d6c4..746d3e37aa 100644 --- a/mod/hotpot/db/mysql.php +++ b/mod/hotpot/db/mysql.php @@ -27,32 +27,14 @@ function hotpot_upgrade($oldversion) { $ok = $ok && hotpot_update_to_v2_1_16(); } - - if ($oldversion < 2006042600) { - table_column('hotpot_attempts','starttime','starttime','int','10','unsigned','0','not null'); - table_column('hotpot_attempts','endtime','endtime','int','10','unsigned','0','not null'); - table_column('hotpot_attempts','score','score','int','6','unsigned','0','not null'); - table_column('hotpot_attempts','penalties','penalties','int','6','unsigned','0','not null'); - table_column('hotpot_attempts','timestart','timestart','int','10','unsigned','0','not null'); - table_column('hotpot_attempts','timefinish','timefinish','int','10','unsigned','0','not null'); - table_column('hotpot_attempts','clickreportid','clickreportid','int','10','unsigned','0','not null'); - - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_questions CHANGE type type tinyint(4) unsigned NOT NULL default '0'"); - - table_column('hotpot_questions','text','text','int','10','unsigned','0','not null'); - - - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_responses CHANGE weighting weighting smallint(8) unsigned NOT NULL default '0'"); - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_responses CHANGE score score smallint(8) unsigned NOT NULL default '0'"); - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_responses CHANGE hints hints smallint(6) unsigned NOT NULL default '0'"); - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_responses CHANGE clues clues smallint(6) unsigned NOT NULL default '0'"); - execute_sql("ALTER TABLE {$CFG->prefix}hotpot_responses CHANGE checks checks smallint(6) unsigned NOT NULL default '0'"); - - } + // update to HotPot v2.1.17 + if ($oldversion < 2006042601) { + $ok = $ok && hotpot_get_update_to_v2(); + $ok = $ok && hotpot_update_to_v2_1_17(); + } return $ok; } - function hotpot_get_update_to_v2() { global $CFG; $filepath = "$CFG->dirroot/mod/hotpot/db/update_to_v2.php"; diff --git a/mod/hotpot/db/update_to_v2.php b/mod/hotpot/db/update_to_v2.php index c337548e29..f0eb1ced3a 100644 --- a/mod/hotpot/db/update_to_v2.php +++ b/mod/hotpot/db/update_to_v2.php @@ -1,4 +1,36 @@ prefix}$table SET $field=0 WHERE $field IS NULL"); + $ok = $ok && hotpot_db_update_field_type($table, $field, $field, 'INTEGER', $size, 'UNSIGNED', 'NOT NULL', 0); + + return $ok; +} function hotpot_update_to_v2_1_16() { global $CFG; $ok = true; diff --git a/mod/hotpot/version.php b/mod/hotpot/version.php index dd2f861018..bb1814f2ac 100644 --- a/mod/hotpot/version.php +++ b/mod/hotpot/version.php @@ -3,7 +3,7 @@ /// Code fragment to define the version of hotpot /// This fragment is called by moodle_needs_upgrading() and /admin/index.php ///////////////////////////////////////////////////////////////////////////////// -$module->version = 2006042600; // release date of this version (see note below) +$module->version = 2006042601; // release date of this version (see note below) $module->release = 'v2.1.16'; // human-friendly version name (used in mod/hotpot/lib.php) $module->cron = 0; // period for cron to check this module (secs) // interpretation of YYYYMMDDXY version numbers -- 2.39.5