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

namespace Doctrine\DBAL\Platforms;

5 6
use Doctrine\DBAL\Types\Type;

7 8 9 10 11 12 13 14 15 16
/**
 * Provides the behavior, features and SQL dialect of the PostgreSQL 9.4 database platform.
 */
class PostgreSQL94Platform extends PostgreSQL92Platform
{
    /**
     * {@inheritdoc}
     */
    public function getJsonTypeDeclarationSQL(array $field)
    {
17
        if (! empty($field['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'] = Type::JSON;
40 41
    }
}