diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2009-08-05 14:50:39 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2009-08-05 14:50:39 +0000 |
commit | d0e9e4189ce83390beeb58acefee05bff2e6b167 (patch) | |
tree | 69381e9e6e4bc49657b9bb68909f4d46f9068d8d /phpBB/develop/mysql_upgrader.php | |
parent | 2c6e4d7e803d1fa7f1b585dd535f8c2c5fb6357d (diff) | |
download | forums-d0e9e4189ce83390beeb58acefee05bff2e6b167.tar forums-d0e9e4189ce83390beeb58acefee05bff2e6b167.tar.gz forums-d0e9e4189ce83390beeb58acefee05bff2e6b167.tar.bz2 forums-d0e9e4189ce83390beeb58acefee05bff2e6b167.tar.xz forums-d0e9e4189ce83390beeb58acefee05bff2e6b167.zip |
Fix Bug #46285 (drop index patch by Paul) - i hope the re-addition of the FULLTEXT index works. :o
If someone wants to try? :)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9930 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/develop/mysql_upgrader.php')
-rw-r--r-- | phpBB/develop/mysql_upgrader.php | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/phpBB/develop/mysql_upgrader.php b/phpBB/develop/mysql_upgrader.php index 9caf9a3a04..1f8bccdd1f 100644 --- a/phpBB/develop/mysql_upgrader.php +++ b/phpBB/develop/mysql_upgrader.php @@ -40,13 +40,18 @@ $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); -$mysql_indexer = false; +$mysql_indexer = $drop_index = false; if (strtolower($row['Type']) === 'mediumtext') { $mysql_indexer = true; } +if (strtolower($row['Key']) === 'mul') +{ + $drop_index = true; +} + echo "USE $dbname;$newline$newline"; @@ -124,6 +129,13 @@ foreach ($schema_data as $table_name => $table_data) // Create Table statement $generator = $textimage = false; + // Do we need to DROP a fulltext index before we alter the table? + if ($table_name == ($prefix . 'posts') && $drop_index) + { + echo "ALTER TABLE {$table_name}{$newline}"; + echo "DROP INDEX post_text,{$newline}DROP INDEX post_subject,{$newline}DROP INDEX post_content;{$newline}{$newline}"; + } + $line = "ALTER TABLE {$table_name} $newline"; // Table specific so we don't get overlap @@ -236,6 +248,12 @@ foreach ($schema_data as $table_name => $table_data) $line .= "\tDEFAULT CHARSET=utf8 COLLATE=utf8_bin;$newline$newline"; echo $line . "$newline"; + + // Do we now need to re-add the fulltext index? ;) + if ($table_name == ($prefix . 'posts') && $drop_index) + { + echo "ALTER TABLE $table_name ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text){$newline}"; + } } /** |