<?xml version="1.0" encoding="UTF-8" ?>
-<XMLDB PATH="mod/quiz/db" VERSION="20060920" COMMENT="XMLDB file for Moodle mod/quiz"
+<XMLDB PATH="mod/quiz/db" VERSION="20070228" COMMENT="XMLDB file for Moodle mod/quiz"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
>
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for question_numerical_units" NEXT="question"/>
<KEY NAME="question" TYPE="foreign" FIELDS="question" REFTABLE="question" REFFIELDS="id" PREVIOUS="primary"/>
</KEYS>
+ <INDEXES>
+ <INDEX NAME="question-unit" UNIQUE="true" FIELDS="question, unit" COMMENT="Unique index to ensure that only one unit with a particular name is created for each question."/>
+ </INDEXES>
</TABLE>
<TABLE NAME="question_attempts" COMMENT="Student attempts. This table gets extended by the modules" PREVIOUS="question_numerical_units" NEXT="question_states">
<FIELDS>
/// $result = result of "/lib/ddllib.php" function calls
/// }
+ if ($result && $oldversion < 2007022800) {
+ /// Ensure that there are not existing duplicate entries in the database.
+ delete_records_select('question_numerical_units', "id > (SELECT MIN(iqnu.id)
+ FROM {$CFG->prefix}question_numerical_units iqnu
+ WHERE iqnu.question = {$CFG->prefix}question_numerical_units.question AND
+ iqnu.unit = {$CFG->prefix}question_numerical_units.unit)");
+
+ /// Define index question-unit (unique) to be added to question_numerical_units
+ $table = new XMLDBTable('question_numerical_units');
+ $index = new XMLDBIndex('question-unit');
+ $index->setAttributes(XMLDB_INDEX_UNIQUE, array('question', 'unit'));
+
+ /// Launch add index question-unit
+ $result = $result && add_index($table, $index);
+ }
+
return $result;
}
// This fragment is called by moodle_needs_upgrading() and /admin/index.php
////////////////////////////////////////////////////////////////////////////////
-$module->version = 2007020200; // The (date) version of this module
+$module->version = 2007022800; // The (date) version of this module
$module->requires = 2007020200; // Requires this Moodle version
$module->cron = 0; // How often should cron check this module (seconds)?