Create indexes for database tables during installation process

This commit is contained in:
Fedor A. Fetisov 2011-04-15 17:50:51 +04:00
parent 5bba5ed824
commit d6ac8f443a

View File

@ -112,6 +112,12 @@ $dbtables = array(
)
);
$dbtables_indexes = array(
"${mysqlprefix}chatmessage" => array(
"idx_agentid" => "agentid"
)
);
$memtables = array();
$dbtables_can_update = array(
@ -139,7 +145,7 @@ function show_install_err($text)
function create_table($id, $link)
{
global $dbtables, $memtables, $dbencoding, $mysqlprefix;
global $dbtables, $dbtables_indexes, $memtables, $dbencoding, $mysqlprefix;
if (!isset($dbtables[$id])) {
show_install_err("Unknown table: $id, " . mysql_error($link));
@ -152,6 +158,12 @@ function create_table($id, $link)
$query .= " $k $v,\n";
}
if (isset($dbtables_indexes[$id])) {
foreach ($dbtables_indexes[$id] as $k => $v) {
$query .= " INDEX $k ($v),\n";
}
}
$query = preg_replace("/,\n$/", "", $query);
$query .= ") charset $dbencoding";
if (in_array($id, $memtables)) {