Commit b1db1b6e authored by Dongsheng Cai's avatar Dongsheng Cai
Browse files

MDL-26116, added default value to tag_instance.tiuserid field

parent 17e03900
...@@ -1935,7 +1935,7 @@ ...@@ -1935,7 +1935,7 @@
<FIELD NAME="tagid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="id" NEXT="itemtype"/> <FIELD NAME="tagid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="id" NEXT="itemtype"/>
<FIELD NAME="itemtype" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="tagid" NEXT="itemid"/> <FIELD NAME="itemtype" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" PREVIOUS="tagid" NEXT="itemid"/>
<FIELD NAME="itemid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="itemtype" NEXT="tiuserid"/> <FIELD NAME="itemid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="itemtype" NEXT="tiuserid"/>
<FIELD NAME="tiuserid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="itemid" NEXT="ordering"/> <FIELD NAME="tiuserid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" PREVIOUS="itemid" NEXT="ordering"/>
<FIELD NAME="ordering" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="Maintains the order of the tag instances of an item" PREVIOUS="tiuserid" NEXT="timemodified"/> <FIELD NAME="ordering" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="Maintains the order of the tag instances of an item" PREVIOUS="tiuserid" NEXT="timemodified"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" COMMENT="timemodified" PREVIOUS="ordering"/> <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" COMMENT="timemodified" PREVIOUS="ordering"/>
</FIELDS> </FIELDS>
...@@ -2748,4 +2748,4 @@ ...@@ -2748,4 +2748,4 @@
</KEYS> </KEYS>
</TABLE> </TABLE>
</TABLES> </TABLES>
</XMLDB> </XMLDB>
\ No newline at end of file
...@@ -239,7 +239,7 @@ function xmldb_main_upgrade($oldversion) { ...@@ -239,7 +239,7 @@ function xmldb_main_upgrade($oldversion) {
// add field // add field
$field = new xmldb_field('tiuserid'); $field = new xmldb_field('tiuserid');
if (!$dbman->field_exists($table, $field)) { if (!$dbman->field_exists($table, $field)) {
$field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, 'itemid'); $field->set_attributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, 0, 'itemid');
$dbman->add_field($table, $field); $dbman->add_field($table, $field);
} }
// modify index // modify index
...@@ -5899,7 +5899,7 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL"); ...@@ -5899,7 +5899,7 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
if (array_key_exists('tiuserid', $columns) && !empty($columns['tiuserid']->has_default)) { if (array_key_exists('tiuserid', $columns) && !empty($columns['tiuserid']->has_default)) {
// tiuserid should have no default // tiuserid should have no default
// Fixed in earlier upgrade code // Fixed in earlier upgrade code
$field = new xmldb_field('tiuserid', XMLDB_TYPE_INTEGER, 10, XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, 'itemid'); $field = new xmldb_field('tiuserid', XMLDB_TYPE_INTEGER, 10, XMLDB_UNSIGNED, XMLDB_NOTNULL, null, 0, 'itemid');
$index = new xmldb_index('itemtype-itemid-tagid-tiuserid', XMLDB_INDEX_UNIQUE, array('itemtype', 'itemid', 'tagid', 'tiuserid')); $index = new xmldb_index('itemtype-itemid-tagid-tiuserid', XMLDB_INDEX_UNIQUE, array('itemtype', 'itemid', 'tagid', 'tiuserid'));
if ($dbman->index_exists($table, $index)) { if ($dbman->index_exists($table, $index)) {
$dbman->drop_index($table, $index); $dbman->drop_index($table, $index);
...@@ -5956,6 +5956,37 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL"); ...@@ -5956,6 +5956,37 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
upgrade_main_savepoint(true, 2011011415); upgrade_main_savepoint(true, 2011011415);
} }
if ($oldversion < 2011012400) {
$columns = $DB->get_columns('tag_instance');
$table = new xmldb_table('tag_instance');
// Drop and recreate index if tiuserid doesn't have default value
if (array_key_exists('tiuserid', $columns) && empty($columns['tiuserid']->has_default)) {
// Define index itemtype-itemid-tagid-tiuserid (unique) to be dropped form tag_instance
$index = new xmldb_index('itemtype-itemid-tagid-tiuserid', XMLDB_INDEX_UNIQUE, array('itemtype', 'itemid', 'tagid', 'tiuserid'));
// Conditionally launch drop index itemtype-itemid-tagid-tiuserid
if ($dbman->index_exists($table, $index)) {
$dbman->drop_index($table, $index);
}
// Changing the default of field tiuserid on table tag_instance to 0
$field = new xmldb_field('tiuserid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, '0', 'itemid');
// Launch change of default for field tiuserid
$dbman->change_field_default($table, $field);
$index = new xmldb_index('itemtype-itemid-tagid-tiuserid', XMLDB_INDEX_UNIQUE, array('itemtype', 'itemid', 'tagid', 'tiuserid'));
// Conditionally launch add index itemtype-itemid-tagid-tiuserid
if (!$dbman->index_exists($table, $index)) {
$dbman->add_index($table, $index);
}
}
// Main savepoint reached
upgrade_main_savepoint(true, 2011012400);
}
return true; return true;
} }
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die(); defined('MOODLE_INTERNAL') || die();
$version = 2011011900; // YYYYMMDD = date of the last version bump $version = 2011012400; // YYYYMMDD = date of the last version bump
// XX = daily increments // XX = daily increments
$release = '2.0.1+ (Build: 20110119)'; // Human-friendly version name $release = '2.0.1+ (Build: 20110119)'; // Human-friendly version name
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment