diff options
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/search/fulltext_mysql.php | 25 | 
1 files changed, 16 insertions, 9 deletions
| diff --git a/phpBB/phpbb/search/fulltext_mysql.php b/phpBB/phpbb/search/fulltext_mysql.php index 9faf5ca08b..f8bda9ae81 100644 --- a/phpBB/phpbb/search/fulltext_mysql.php +++ b/phpBB/phpbb/search/fulltext_mysql.php @@ -942,38 +942,45 @@ class fulltext_mysql extends \phpbb\search\base  			$this->get_stats();  		} -		$alter = array(); +		$alter_list = array();  		if (!isset($this->stats['post_subject']))  		{ +			$alter_entry = array();  			if ($this->db->get_sql_layer() == 'mysqli' || version_compare($this->db->sql_server_info(true), '4.1.3', '>='))  			{ -				$alter[] = 'MODIFY post_subject varchar(255) COLLATE utf8_unicode_ci DEFAULT \'\' NOT NULL'; +				$alter_entry[] = 'MODIFY post_subject varchar(255) COLLATE utf8_unicode_ci DEFAULT \'\' NOT NULL';  			}  			else  			{ -				$alter[] = 'MODIFY post_subject text NOT NULL'; +				$alter_entry[] = 'MODIFY post_subject text NOT NULL';  			} -			$alter[] = 'ADD FULLTEXT (post_subject)'; +			$alter_entry[] = 'ADD FULLTEXT (post_subject)'; +			$alter_list[] = $alter_entry;  		}  		if (!isset($this->stats['post_content']))  		{ +			$alter_entry = array();  			if ($this->db->get_sql_layer() == 'mysqli' || version_compare($this->db->sql_server_info(true), '4.1.3', '>='))  			{ -				$alter[] = 'MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL'; +				$alter_entry[] = 'MODIFY post_text mediumtext COLLATE utf8_unicode_ci NOT NULL';  			}  			else  			{ -				$alter[] = 'MODIFY post_text mediumtext NOT NULL'; +				$alter_entry[] = 'MODIFY post_text mediumtext NOT NULL';  			} -			$alter[] = 'ADD FULLTEXT post_content (post_text, post_subject)'; +			$alter_entry[] = 'ADD FULLTEXT post_content (post_text, post_subject)'; +			$alter_list[] = $alter_entry;  		} -		if (sizeof($alter)) +		if (sizeof($alter_list))  		{ -			$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter)); +			foreach ($alter_list as $alter) +			{ +				$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter)); +			}  		}  		$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE); | 
