HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/payments-gateway/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;
    }
}