HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/vendor/doctrine/dbal/src/Platforms/PostgreSQL120Platform.php
<?php

declare(strict_types=1);

namespace Doctrine\DBAL\Platforms;

/**
 * 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;
    }
}