MDL-62621 comments: Add missing indexes on comments table
The composite index over the fields contextid, commentarea and itemid helps the comments API to load all comments for the given area effectively. The index over the userid field helps the privacy API to load all comments by the given user.
This commit is contained in:
+5
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XMLDB PATH="lib/db" VERSION="20180403" COMMENT="XMLDB file for core Moodle tables"
|
||||
<XMLDB PATH="lib/db" VERSION="20180618" COMMENT="XMLDB file for core Moodle tables"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../lib/xmldb/xmldb.xsd"
|
||||
>
|
||||
@@ -2638,7 +2638,11 @@
|
||||
</FIELDS>
|
||||
<KEYS>
|
||||
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
||||
<KEY NAME="fk_user" TYPE="foreign" FIELDS="userid" REFTABLE="user" REFFIELDS="id"/>
|
||||
</KEYS>
|
||||
<INDEXES>
|
||||
<INDEX NAME="ix_concomitem" UNIQUE="false" FIELDS="contextid, commentarea, itemid" COMMENT="Allows the comments API to load comments for a particular area effectively."/>
|
||||
</INDEXES>
|
||||
</TABLE>
|
||||
<TABLE NAME="external_services" COMMENT="built in and custom external services">
|
||||
<FIELDS>
|
||||
|
||||
@@ -2233,5 +2233,26 @@ function xmldb_main_upgrade($oldversion) {
|
||||
// Automatically generated Moodle v3.5.0 release upgrade line.
|
||||
// Put any upgrade step following this.
|
||||
|
||||
if ($oldversion < 2018051700.07) {
|
||||
// Add foreign key fk_user to the comments table.
|
||||
$table = new xmldb_table('comments');
|
||||
$key = new xmldb_key('fk_user', XMLDB_KEY_FOREIGN, array('userid'), 'user', array('id'));
|
||||
$dbman->add_key($table, $key);
|
||||
|
||||
upgrade_main_savepoint(true, 2018051700.07);
|
||||
}
|
||||
|
||||
if ($oldversion < 2018051700.08) {
|
||||
// Add composite index ix_concomitem to the table comments.
|
||||
$table = new xmldb_table('comments');
|
||||
$index = new xmldb_index('ix_concomitem', XMLDB_INDEX_NOTUNIQUE, array('contextid', 'commentarea', 'itemid'));
|
||||
|
||||
if (!$dbman->index_exists($table, $index)) {
|
||||
$dbman->add_index($table, $index);
|
||||
}
|
||||
|
||||
upgrade_main_savepoint(true, 2018051700.08);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$version = 2018051700.06; // 20180517 = branching date YYYYMMDD - do not modify!
|
||||
$version = 2018051700.08; // 20180517 = branching date YYYYMMDD - do not modify!
|
||||
// RR = release increments - 00 in DEV branches.
|
||||
// .XX = incremental changes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user