summaryrefslogtreecommitdiff
path: root/vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php')
-rw-r--r--vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php b/vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php
new file mode 100644
index 0000000..bcd5554
--- /dev/null
+++ b/vendor/doctrine/dbal/src/Driver/API/IBMDB2/ExceptionConverter.php
@@ -0,0 +1,47 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\DBAL\Driver\API\IBMDB2;
6
7use Doctrine\DBAL\Driver\API\ExceptionConverter as ExceptionConverterInterface;
8use Doctrine\DBAL\Driver\Exception;
9use Doctrine\DBAL\Exception\ConnectionException;
10use Doctrine\DBAL\Exception\DriverException;
11use Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException;
12use Doctrine\DBAL\Exception\InvalidFieldNameException;
13use Doctrine\DBAL\Exception\NonUniqueFieldNameException;
14use Doctrine\DBAL\Exception\NotNullConstraintViolationException;
15use Doctrine\DBAL\Exception\SyntaxErrorException;
16use Doctrine\DBAL\Exception\TableExistsException;
17use Doctrine\DBAL\Exception\TableNotFoundException;
18use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
19use Doctrine\DBAL\Query;
20
21/**
22 * @internal
23 *
24 * @link https://www.ibm.com/docs/en/db2/11.5?topic=messages-sql
25 */
26final class ExceptionConverter implements ExceptionConverterInterface
27{
28 public function convert(Exception $exception, ?Query $query): DriverException
29 {
30 return match ($exception->getCode()) {
31 -104 => new SyntaxErrorException($exception, $query),
32 -203 => new NonUniqueFieldNameException($exception, $query),
33 -204 => new TableNotFoundException($exception, $query),
34 -206 => new InvalidFieldNameException($exception, $query),
35 -407 => new NotNullConstraintViolationException($exception, $query),
36 -530,
37 -531,
38 -532,
39 -20356 => new ForeignKeyConstraintViolationException($exception, $query),
40 -601 => new TableExistsException($exception, $query),
41 -803 => new UniqueConstraintViolationException($exception, $query),
42 -1336,
43 -30082 => new ConnectionException($exception, $query),
44 default => new DriverException($exception, $query),
45 };
46 }
47}