PostgreSQL94Platform.php 817 Bytes
Newer Older
1 2 3 4
<?php

namespace Doctrine\DBAL\Platforms;

5
use Doctrine\DBAL\Types\Types;
6

7 8 9 10 11 12 13 14
/**
 * Provides the behavior, features and SQL dialect of the PostgreSQL 9.4 database platform.
 */
class PostgreSQL94Platform extends PostgreSQL92Platform
{
    /**
     * {@inheritdoc}
     */
15
    public function getJsonTypeDeclarationSQL(array $column)
16
    {
17
        if (! empty($column['jsonb'])) {
18 19 20 21 22 23 24 25 26 27 28
            return 'JSONB';
        }

        return 'JSON';
    }

    /**
     * {@inheritdoc}
     */
    protected function getReservedKeywordsClass()
    {
29
        return Keywords\PostgreSQL94Keywords::class;
30 31 32 33 34 35 36 37
    }

    /**
     * {@inheritdoc}
     */
    protected function initializeDoctrineTypeMappings()
    {
        parent::initializeDoctrineTypeMappings();
38

39
        $this->doctrineTypeMapping['jsonb'] = Types::JSON;
40 41
    }
}