Completed
Push — dev ( 65a8c9...5713e7 )
by James Ekow Abaka
03:59
created

PostgresqlAdapter   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 32
Duplicated Lines 100 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 76.47%

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 1
dl 32
loc 32
ccs 13
cts 17
cp 0.7647
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B mapDataTypes() 22 22 9

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
namespace ntentan\nibii\adapters;
3
4 View Code Duplication
class PostgresqlAdapter extends \ntentan\nibii\DriverAdapter
5
{
6
    /**
7
     * Convert from postgresqls native type to a generic type accepted in the
8
     * atiaa library.
9
     * @param string $nativeType
10
     * @return string
11
     * @throws \Exception
12
     */
13 28
    public function mapDataTypes($nativeType) 
14
    {
15 14
        switch($nativeType)
16
        {
17 28
            case 'character varying':
18 28
                return 'string';
19 28
            case 'text':
20 4
                return 'text';
21 28
            case 'date':
22
                return 'date';
23 28
            case 'integer':
24 22
            case 'boolean':
25 28
                return $nativeType;
26 22
            case 'numeric':
27
                return 'double';
28 22
            case 'timestamp without time zone':
29
            case 'timestamp with time zone':
30 22
                return 'datetime';
31
            default:
32
                throw new \Exception("Unknown type {$nativeType}");
33
        }
34
    }
35
}
36