Merge pull request #44461 from nextcloud/backport/44394/stable28

This commit is contained in:
Benjamin Gaussorgues 2024-04-17 11:19:04 +02:00 committed by GitHub
commit 88859aa41c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 3 deletions

View file

@ -112,9 +112,9 @@ $CONFIG = [
/**
* Your host server name, for example ``localhost``, ``hostname``,
* ``hostname.example.com``, or the IP address. To specify a port use
* ``hostname:####``; to specify a Unix socket use
* ``/path/to/directory/containing/socket`` e.g. ``/run/postgresql/``.
* ``hostname.example.com``, or the IP address.
* To specify a port use ``hostname:####``, for IPv6 addresses use the URI notation ``[ip]:port``.
* To specify a Unix socket use ``/path/to/directory/containing/socket``, e.g. ``/run/postgresql/``.
*/
'dbhost' => '',

View file

@ -132,6 +132,7 @@ class ConnectionFactory {
$eventManager->addEventSubscriber(
new SQLSessionInit("SET SESSION AUTOCOMMIT=1"));
break;
case 'oci':
$eventManager->addEventSubscriber(new OracleSessionInit);
// the driverOptions are unused in dbal and need to be mapped to the parameters
@ -151,6 +152,15 @@ class ConnectionFactory {
unset($additionalConnectionParams['host']);
break;
case 'pgsql':
// pg_connect used by Doctrine DBAL does not support URI notation (enclosed in brackets)
$matches = [];
if (preg_match('/^\[([^\]]+)\]$/', $additionalConnectionParams['host'], $matches)) {
// Host variable carries a port or socket.
$additionalConnectionParams['host'] = $matches[1];
}
break;
case 'sqlite3':
$journalMode = $additionalConnectionParams['sqlite.journal_mode'];
$additionalConnectionParams['platform'] = new OCSqlitePlatform();