Skip to content

Commit

Permalink
Merge pull request #44461 from nextcloud/backport/44394/stable28
Browse files Browse the repository at this point in the history
  • Loading branch information
Altahrim authored Apr 17, 2024
2 parents c4370b6 + 2cabc70 commit 88859aa
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
6 changes: 3 additions & 3 deletions config/config.sample.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,9 @@

/**
* 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' => '',

Expand Down
10 changes: 10 additions & 0 deletions lib/private/DB/ConnectionFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ public function getConnection($type, $additionalConnectionParams) {
$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
Expand All @@ -151,6 +152,15 @@ public function getConnection($type, $additionalConnectionParams) {
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();
Expand Down

0 comments on commit 88859aa

Please sign in to comment.