1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-12 01:11:15 +02:00

Merge branch '3.1.x' into 3.2.x

This commit is contained in:
Marc Alexander
2017-01-04 20:31:45 +01:00

View File

@ -942,38 +942,45 @@ class fulltext_mysql extends \phpbb\search\base
$this->get_stats(); $this->get_stats();
} }
$alter = array(); $alter_list = array();
if (!isset($this->stats['post_subject'])) 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', '>=')) 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 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'])) 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', '>=')) 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 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); $this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);