aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2006-04-18 15:13:33 +0000
committerDavid M <davidmj@users.sourceforge.net>2006-04-18 15:13:33 +0000
commit01fdcf2d83aadb5146838899e0d49cf26cabeb55 (patch)
treea81431d7951a1417cf23a318b4cf821f8b48f645 /phpBB
parent8e18b11e344252fcf1bd46ff65583250809c6fcd (diff)
downloadforums-01fdcf2d83aadb5146838899e0d49cf26cabeb55.tar
forums-01fdcf2d83aadb5146838899e0d49cf26cabeb55.tar.gz
forums-01fdcf2d83aadb5146838899e0d49cf26cabeb55.tar.bz2
forums-01fdcf2d83aadb5146838899e0d49cf26cabeb55.tar.xz
forums-01fdcf2d83aadb5146838899e0d49cf26cabeb55.zip
- An index can have multiple columns :P
git-svn-id: file:///svn/phpbb/trunk@5796 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/acp/acp_database.php31
1 files changed, 21 insertions, 10 deletions
diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php
index c4fe351f16..9c6f42a12a 100644
--- a/phpBB/includes/acp/acp_database.php
+++ b/phpBB/includes/acp/acp_database.php
@@ -108,9 +108,9 @@ class acp_database
if ($download == true)
{
$name = $filename . $ext;
- header('Pragma: no-cache');
- header("Content-Type: $mimetype; name=\"$name\"");
- header("Content-disposition: attachment; filename=$name");
+ //header('Pragma: no-cache');
+ // header("Content-Type: $mimetype; name=\"$name\"");
+ // header("Content-disposition: attachment; filename=$name");
}
// All of the generated queries go here
@@ -1176,19 +1176,30 @@ class acp_database
$db->sql_freeresult($result);
$rows = array();
- $sql = "EXEC sp_helpindex '$table_name'";
+ $index = array();
+ $sql = "EXEC sp_statistics '$table_name'";
$result = $db->sql_query($sql);
- if ($db->sql_numrows($result))
+ while ($row = $db->sql_fetchrow($result))
{
- while ($row = $db->sql_fetchrow($result))
+ if ($row['TYPE'] == 3)
{
- if ($row['index_description'] == 'nonclustered located on PRIMARY')
- {
- $sql_data .= "\nCREATE INDEX [{$row['index_name']}] ON [$table_name]([{$row['index_keys']}]) ON [PRIMARY]\nGO\n";
- }
+ $index[$row['INDEX_NAME']][] = $row['COLUMN_NAME'];
}
}
$db->sql_freeresult($result);
+
+ foreach ($index as $index_name => $column_name)
+ {
+ $index[$index_name] = implode(', ', $index[$index_name]);
+ }
+
+ if (sizeof($index))
+ {
+ foreach ($index as $index_name => $columns)
+ {
+ $sql_data .= "\nCREATE INDEX [$index_name] ON [$table_name]([$columns]) ON [PRIMARY]\nGO\n";
+ }
+ }
break;
default: