[ticket/14044] Fix Sqlite error in tests

PHPBB3-14044
This commit is contained in:
Marc Alexander 2015-10-22 11:27:03 +02:00 committed by Mate Bartus
parent 597297b169
commit e0d06ee83e
2 changed files with 19 additions and 5 deletions

View file

@ -136,7 +136,19 @@ class sqlite3 extends \phpbb\db\driver\driver
{ {
if (($this->query_result = @$this->dbo->query($query)) === false) if (($this->query_result = @$this->dbo->query($query)) === false)
{ {
$this->sql_error($query); // Try to recover a lost database connection
if ($this->dbo && !@$this->dbo->lastErrorMsg())
{
if ($this->sql_connect($this->server, $this->user, '', $this->dbname))
{
$this->query_result = @$this->dbo->query($query);
}
}
if ($this->query_result === false)
{
$this->sql_error($query);
}
} }
if (defined('DEBUG')) if (defined('DEBUG'))

View file

@ -1478,10 +1478,7 @@ class fulltext_native extends \phpbb\search\base
$this->db->sql_return_on_error(false); $this->db->sql_return_on_error(false);
} }
unset($new_words, $sql_ary); unset($new_words, $sql_ary);
} $this->db->sql_transaction('commit');
else
{
$this->db->sql_transaction('begin');
} }
// now update the search match table, remove links to removed words and add links to new words // now update the search match table, remove links to removed words and add links to new words
@ -1513,6 +1510,11 @@ class fulltext_native extends \phpbb\search\base
} }
} }
if (!count($unique_add_words))
{
$this->db->sql_transaction('begin');
}
$this->db->sql_return_on_error(true); $this->db->sql_return_on_error(true);
foreach ($words['add'] as $word_in => $word_ary) foreach ($words['add'] as $word_in => $word_ary)
{ {