Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace Doctrine\DBAL\Driver\IBMDB2\Exception;
6
 
7
use Doctrine\DBAL\Driver\AbstractException;
8
 
9
use function db2_stmt_error;
10
use function db2_stmt_errormsg;
11
 
12
/**
13
 * @internal
14
 *
15
 * @psalm-immutable
16
 */
17
final class StatementError extends AbstractException
18
{
19
    /** @param resource|null $statement */
20
    public static function new($statement = null): self
21
    {
22
        if ($statement !== null) {
23
            $message  = db2_stmt_errormsg($statement);
24
            $sqlState = db2_stmt_error($statement);
25
        } else {
26
            $message  = db2_stmt_errormsg();
27
            $sqlState = db2_stmt_error();
28
        }
29
 
30
        return Factory::create($message, static function (int $code) use ($message, $sqlState): self {
31
            return new self($message, $sqlState, $code);
32
        });
33
    }
34
}