diff --git a/setup/basic.sql b/setup/basic.sql index 2858339fb..17badd31d 100644 --- a/setup/basic.sql +++ b/setup/basic.sql @@ -248,7 +248,8 @@ CREATE TABLE `$templaterights` ( `role` char(255) DEFAULT NULL, `folder` bigint(20) DEFAULT NULL, `notes` char(255) DEFAULT NULL, - KEY `index1` (`template_id`,`user_id`,`role`(10)) + KEY `index1` (`template_id`,`user_id`,`role`(10)), + KEY `index2` (`folder`) ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `$templatesyndication` ( @@ -307,7 +308,8 @@ CREATE TABLE `$folderrights` ( `folder_parent` int(11) NOT NULL, `role` char(255) DEFAULT NULL, PRIMARY KEY (`id`), - KEY `index1` (`folder_id`,`login_id`,`role`(10)) + KEY `index1` (`folder_id`,`login_id`,`role`(10)), + KEY `index2` (`folder_parent`) ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `$folder_group_rights` ( diff --git a/upgrade.php b/upgrade.php index 9900780bf..368614b44 100644 --- a/upgrade.php +++ b/upgrade.php @@ -1398,4 +1398,44 @@ function upgrade_41() $message = "Adding xapi_force_anonymous_lrs column to sitedetails - ok ? " . ($error ? 'true' : 'false') . "
"; return $message; -} \ No newline at end of file +} + +function upgrade_42() +{ + global $xerte_toolkits_site; + + // Create an index for templaterights + $table = table_by_key('templaterights'); + + // First check if index already exists + $sql = "SELECT COUNT(1) as count FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '$xerte_toolkits_site->database_name' AND TABLE_NAME='$table' AND INDEX_NAME='index2'"; + $result = db_query_one($sql); + if ($result !== false && $result['count'] == '0') { + $ok = _upgrade_db_query("ALTER TABLE `$table` ADD INDEX `index2` (`folder` ASC);"); + $message = "Creating index2 on table templaterights - ok ? " . ($ok ? 'true' : 'false') . "
"; + + return $message; + } + $message = 'Index on templaterights table is already present'; + return $message; +} + +function upgrade_43() +{ + global $xerte_toolkits_site; + + // Create an index for folderrights.folder_parent + $table = table_by_key('folderrights'); + + // First check if index already exists + $sql = "SELECT COUNT(1) as count FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '$xerte_toolkits_site->database_name' AND TABLE_NAME='$table' AND INDEX_NAME='index2'"; + $result = db_query_one($sql); + if ($result !== false && $result['count'] == '0') { + $ok = _upgrade_db_query("ALTER TABLE `$table` ADD INDEX `index2` (`folder_parent` ASC);"); + $message = "Creating index2 on table folderrights - ok ? " . ($ok ? 'true' : 'false') . "
"; + + return $message; + } + $message = 'Index on folderrights table is already present'; + return $message; +}