Вход Регистрация
Файл: vendor/doctrine/dbal/src/Platforms/PostgreSQL120Platform.php
Строк: 27
<?php

declare(strict_types=1);

namespace 
DoctrineDBALPlatforms;

/**
 * Provides the behavior, features and SQL dialect of the PostgreSQL 12.0 database platform.
 */
class PostgreSQL120Platform extends PostgreSQL100Platform
{
    public function 
getDefaultColumnValueSQLSnippet(): string
    
{
        
// in case of GENERATED ALWAYS AS (foobar) STORED column (added in PostgreSQL 12.0)
        // PostgreSQL's pg_get_expr(adbin, adrelid) will return the 'foobar' part
        // which is not the 'default' value of the column but its 'definition'
        // so in that case we force it to NULL as DBAL will use that column only for the
        // 'default' value
        
return <<<'SQL'
            SELECT
                CASE
                    WHEN a.attgenerated = 's' THEN NULL
                    ELSE pg_get_expr(adbin, adrelid)
                END
             FROM pg_attrdef
             WHERE c.oid = pg_attrdef.adrelid
                AND pg_attrdef.adnum=a.attnum
        SQL;
    }
}
Онлайн: 2
Реклама