summaryrefslogtreecommitdiff
path: root/vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php')
-rw-r--r--vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php b/vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php
new file mode 100644
index 0000000..f2f4ed7
--- /dev/null
+++ b/vendor/doctrine/dbal/src/Driver/IBMDB2/Driver.php
@@ -0,0 +1,41 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\DBAL\Driver\IBMDB2;
6
7use Doctrine\DBAL\Driver\AbstractDB2Driver;
8use Doctrine\DBAL\Driver\IBMDB2\Exception\ConnectionFailed;
9use SensitiveParameter;
10
11use function db2_connect;
12use function db2_pconnect;
13
14final class Driver extends AbstractDB2Driver
15{
16 /**
17 * {@inheritDoc}
18 */
19 public function connect(
20 #[SensitiveParameter]
21 array $params,
22 ): Connection {
23 $dataSourceName = DataSourceName::fromConnectionParameters($params)->toString();
24
25 $username = $params['user'] ?? '';
26 $password = $params['password'] ?? '';
27 $driverOptions = $params['driverOptions'] ?? [];
28
29 if (! empty($params['persistent'])) {
30 $connection = db2_pconnect($dataSourceName, $username, $password, $driverOptions);
31 } else {
32 $connection = db2_connect($dataSourceName, $username, $password, $driverOptions);
33 }
34
35 if ($connection === false) {
36 throw ConnectionFailed::new();
37 }
38
39 return new Connection($connection);
40 }
41}