[ticket/17176] Clean up database code to prevent test issues

PHPBB3-17176
This commit is contained in:
Marc Alexander 2023-08-20 21:12:11 +02:00
parent 96e97c264e
commit 8a2199ed6c
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
5 changed files with 7 additions and 6 deletions

View file

@ -1330,7 +1330,7 @@ abstract class driver implements driver_interface
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
public function clean_query_id(mixed $query_id): int|string public function clean_query_id(mixed $query_id): int|string|null
{ {
// Some DBMS functions accept/return objects and/or resources instead if identifiers // Some DBMS functions accept/return objects and/or resources instead if identifiers
// Attempting to use objects/resources as array keys will throw error, hence correctly handle all cases // Attempting to use objects/resources as array keys will throw error, hence correctly handle all cases

View file

@ -501,7 +501,7 @@ interface driver_interface
* *
* @param mixed $query_id Mixed type query id * @param mixed $query_id Mixed type query id
* *
* @return int|string Query id in string or integer format * @return int|string|null Query id in string or integer format
*/ */
public function clean_query_id(mixed $query_id): int|string; public function clean_query_id(mixed $query_id): int|string|null;
} }

View file

@ -478,7 +478,7 @@ class factory implements driver_interface
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
public function clean_query_id(mixed $query_id): int|string public function clean_query_id(mixed $query_id): int|string|null
{ {
return $this->get_driver()->clean_query_id($query_id); return $this->get_driver()->clean_query_id($query_id);
} }

View file

@ -436,7 +436,7 @@ class postgres extends \phpbb\db\driver\driver
{ {
return true; return true;
} }
return @pg_close($this->db_connect_id); return pg_close($this->db_connect_id);
} }
/** /**

View file

@ -303,8 +303,9 @@ abstract class phpbb_database_test_case extends TestCase
{ {
$config = $this->get_database_config(); $config = $this->get_database_config();
/** @var \phpbb\db\driver\driver_interface $db */
$db = new $config['dbms'](); $db = new $config['dbms']();
$db->sql_connect($config['dbhost'], $config['dbuser'], $config['dbpasswd'], $config['dbname'], $config['dbport']); $db->sql_connect($config['dbhost'], $config['dbuser'], $config['dbpasswd'], $config['dbname'], $config['dbport'], false, true);
$this->db_connections[] = $db; $this->db_connections[] = $db;