$ok = $ok && hotpot_get_update_to_v2();\r
$ok = $ok && hotpot_update_to_v2_1_2();\r
}\r
- \r
- if ($oldversion < 2006042100) {\r
- $result = execute_sql("ALTER TABLE {$CFG->prefix}hotpot_questions DROP INDEX {$CFG->prefix}hotpot_questions_name_idx");\r
- $result = execute_sql("ALTER TABLE {$CFG->prefix}hotpot_questions ADD INDEX hotpot_questions_name_idx (name(20))");\r
- \r
- }\r
- \r
- \r
+ // update to HotPot v2.1.16\r
+ if ($oldversion < 2006042101) {\r
+ $ok = $ok && hotpot_get_update_to_v2();\r
+ $ok = $ok && hotpot_update_to_v2_1_16();\r
+ }\r
\r
return $ok;\r
}\r
+\r
function hotpot_get_update_to_v2() {\r
global $CFG;\r
$filepath = "$CFG->dirroot/mod/hotpot/db/update_to_v2.php";\r
}\r
return $ok;\r
}\r
+\r
?>\r
status tinyint(4) unsigned NOT NULL default '1',
clickreportid int(10) unsigned default NULL,
PRIMARY KEY (id),
- KEY prefix_hotpot_attempts_hotpot_idx (hotpot),
- KEY prefix_hotpot_attempts_userid_idx (userid)
+ KEY hotpot_attempts_hotpot_idx (hotpot),
+ KEY hotpot_attempts_userid_idx (userid)
) TYPE=MyISAM COMMENT='details about Hot Potatoes quiz attempts';
#
# Table structure for table `hotpot_details`
attempt int(10) unsigned NOT NULL default '0',
details text default '',
PRIMARY KEY (id),
- KEY prefix_hotpot_details_attempt_idx (attempt)
+ KEY hotpot_details_attempt_idx (attempt)
) TYPE=MyISAM COMMENT='raw details (as XML) of Hot Potatoes quiz attempts';
#
# Table structure for table `hotpot_questions`
hotpot int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id),
KEY hotpot_questions_name_idx (name(20)),
- KEY prefix_hotpot_questions_hotpot_idx (hotpot)
+ KEY hotpot_questions_hotpot_idx (hotpot)
) TYPE=MyISAM COMMENT='details about questions in Hot Potatoes quiz attempts';
#
# Table structure for table `hotpot_responses`
clues smallint(6) default NULL,
checks smallint(6) default NULL,
PRIMARY KEY (id),
- KEY prefix_hotpot_responses_attempt_idx (attempt),
- KEY prefix_hotpot_responses_question_idx (question)
+ KEY hotpot_responses_attempt_idx (attempt),
+ KEY hotpot_responses_question_idx (question)
) TYPE=MyISAM COMMENT='details about responses in Hot Potatoes quiz attempts';
#
# Table structure for table `hotpot_strings`
id int(10) unsigned NOT NULL auto_increment,
string text NOT NULL default '',
PRIMARY KEY (id),
- KEY prefix_hotpot_strings_string_idx (string(20))
+ KEY hotpot_strings_string_idx (string(20))
) TYPE=MyISAM COMMENT='strings used in Hot Potatoes questions and responses';
$ok = $ok && hotpot_get_update_to_v2();\r
$ok = $ok && hotpot_update_to_v2_1_8();\r
}\r
+ // update to HotPot v2.1.16\r
+ if ($oldversion < 2006042101) {\r
+ $ok = $ok && hotpot_get_update_to_v2();\r
+ $ok = $ok && hotpot_update_to_v2_1_16();\r
+ }\r
return $ok;\r
}\r
function hotpot_get_update_to_v2() {\r
<?PHP\r
+function hotpot_update_to_v2_1_16() {\r
+ global $CFG;\r
+ $ok = true;\r
+\r
+ // make sure type of 'name' is a text field (not varchar 255)\r
+ $ok = $ok && hotpot_db_update_field_type('hotpot_questions', 'name', 'name', 'TEXT', '', '', 'NOT NULL', '');\r
+\r
+ if (strtolower($CFG->dbtype)=='mysql') {\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_attempts', 'hotpot');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_attempts', 'userid');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_details', 'attempt');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_questions', 'hotpot');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_questions', 'name', 20);\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_responses', 'attempt');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_responses', 'question');\r
+ $ok = $ok && hotpot_index_remove_prefix('hotpot_strings', 'string', 20);\r
+ }\r
+ return $ok;\r
+}\r
+function hotpot_index_remove_prefix($table, $field, $length=0) {\r
+ global $CFG;\r
+ $index = "{$table}_{$field}_idx";\r
+ hotpot_db_delete_index("{$CFG->prefix}$table", "{$CFG->prefix}$index");\r
+ hotpot_db_delete_index("{$CFG->prefix}$table", $index);\r
+ return hotpot_db_add_index($table, $field, $length);\r
+}\r
+\r
function hotpot_update_to_v2_1_8() {\r
global $CFG;\r
$ok = true;\r
}\r
function hotpot_db_add_index($table, $field, $length='') {\r
global $CFG, $db;\r
- // expand $table and $index names\r
+\r
+ if (strtolower($CFG->dbtype)=='postgres7') {\r
+ $index = "{$CFG->prefix}{$table}_{$field}_idx";\r
+ } else {\r
+ // mysql (and others)\r
+ $index = "{$table}_{$field}_idx";\r
+ }\r
$table = "{$CFG->prefix}$table";\r
- $index = "{$table}_{$field}_idx";\r
+\r
// delete $index if it already exists\r
$ok = hotpot_db_delete_index($table, $index);\r
+\r
switch (strtolower($CFG->dbtype)) {\r
- case 'mysql' : \r
+ case 'mysql' :\r
$length = empty($length) ? '' : " ($length)";\r
$ok = $ok && $db->Execute("ALTER TABLE `$table` ADD INDEX `$index` (`$field`$length)");\r
break;\r