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 @@
<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="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="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" COMMENT="timemodified" PREVIOUS="ordering"/>
</FIELDS>
......@@ -2748,4 +2748,4 @@
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
\ No newline at end of file
</XMLDB>
......@@ -239,7 +239,7 @@ function xmldb_main_upgrade($oldversion) {
// add field
$field = new xmldb_field('tiuserid');
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);
}
// modify index
......@@ -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)) {
// tiuserid should have no default
// 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'));
if ($dbman->index_exists($table, $index)) {
$dbman->drop_index($table, $index);
......@@ -5956,6 +5956,37 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
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;
}
......
......@@ -29,7 +29,7 @@
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
$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