diff --git a/modules/tag/schemas/tags.xml b/modules/tag/schemas/tags.xml
index 452e567eb..2064202b6 100644
--- a/modules/tag/schemas/tags.xml
+++ b/modules/tag/schemas/tags.xml
@@ -2,6 +2,6 @@
-
+
diff --git a/modules/tag/tag.class.php b/modules/tag/tag.class.php
index 4cb196df8..6e44ad449 100644
--- a/modules/tag/tag.class.php
+++ b/modules/tag/tag.class.php
@@ -12,8 +12,7 @@ class Tag extends ModuleObject
*/
public function moduleInstall()
{
- $oDB = DB::getInstance();
- $oDB->addIndex('tags', 'idx_tag', array('document_srl', 'tag'));
+
}
/**
@@ -21,9 +20,10 @@ class Tag extends ModuleObject
*/
public function checkUpdate()
{
- // tag in the index column of the table tag
+ // Convert unnecessary composite index into a single-column index.
$oDB = DB::getInstance();
- if (!$oDB->isIndexExists('tags', 'idx_tag'))
+ $index = $oDB->getIndexInfo('tags', 'idx_tag');
+ if (!$index || count($index->columns) > 1)
{
return true;
}
@@ -35,11 +35,16 @@ class Tag extends ModuleObject
*/
public function moduleUpdate()
{
- // tag in the index column of the table tag
+ // Convert unnecessary composite index into a single-column index.
$oDB = DB::getInstance();
- if (!$oDB->isIndexExists('tags', 'idx_tag'))
+ $index = $oDB->getIndexInfo('tags', 'idx_tag');
+ if (!$index || count($index->columns) > 1)
{
- $oDB->addIndex('tags', 'idx_tag', array('document_srl', 'tag'));
+ if ($index)
+ {
+ $oDB->dropIndex('tags', 'idx_tag');
+ }
+ $oDB->addIndex('tags', 'idx_tag', ['tag']);
}
}
}