Completed
Push — master ( 18d42b...fed0be )
by Rasmus
03:18
created

PostgresDriver::getExceptionType()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 13
ccs 0
cts 6
cp 0
rs 9.4285
cc 3
eloc 8
nc 3
nop 3
crap 12
1
<?php
2
3
namespace mindplay\sql\drivers;
4
5
use mindplay\sql\exceptions\ForeignKeyException;
6
use mindplay\sql\exceptions\SQLException;
7
use mindplay\sql\exceptions\UniqueConstraintException;
8
use mindplay\sql\framework\Driver;
9
10
class PostgresDriver implements Driver
11
{
12 1
    public function quoteName($name)
13
    {
14 1
        return '"' . $name . '"';
15
    }
16
17
    public function getExceptionType($sql_state, $error_code, $error_message)
18
    {
19
        switch ($sql_state) {
20
            case '23503':
21
                return ForeignKeyException::class;
22
23
            case '23505':
24
                return UniqueConstraintException::class;
25
26
            default:
27
                return SQLException::class;
28
        }
29
    }
30
}
31