<?php namespace Doctrine\DBAL\Driver; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\API\ExceptionConverter; use Doctrine\DBAL\Driver\API\PostgreSQL; use Doctrine\DBAL\Exception; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Platforms\PostgreSQL100Platform; use Doctrine\DBAL\Platforms\PostgreSQL94Platform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform; use Doctrine\DBAL\Schema\PostgreSQLSchemaManager; use Doctrine\DBAL\VersionAwarePlatformDriver; use Doctrine\Deprecations\Deprecation; use function assert; use function preg_match; use function version_compare; /** * Abstract base implementation of the {@see Driver} interface for PostgreSQL based drivers. */ abstract class AbstractPostgreSQLDriver implements VersionAwarePlatformDriver { /** * {@inheritdoc} */ public function createDatabasePlatformForVersion($version) { if (preg_match('/^(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>\d+))?)?/', $version, $versionParts) === 0) { throw Exception::invalidPlatformVersionSpecified( $version, '<major_version>.<minor_version>.<patch_version>', ); } $majorVersion = $versionParts['major']; $minorVersion = $versionParts['minor'] ?? 0; $patchVersion = $versionParts['patch'] ?? 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion; if (version_compare($version, '10.0', '>=')) { return new PostgreSQL100Platform(); } Deprecation::trigger( 'doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5060', 'PostgreSQL 9 support is deprecated and will be removed in DBAL 4.' . ' Consider upgrading to Postgres 10 or later.', ); return new PostgreSQL94Platform(); } /** * {@inheritdoc} */ public function getDatabasePlatform() { return new PostgreSQL94Platform(); } /** * {@inheritdoc} * * @deprecated Use {@link PostgreSQLPlatform::createSchemaManager()} instead. */ public function getSchemaManager(Connection $conn, AbstractPlatform $platform) { Deprecation::triggerIfCalledFromOutside( 'doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5458', 'AbstractPostgreSQLDriver::getSchemaManager() is deprecated.' . ' Use PostgreSQLPlatform::createSchemaManager() instead.', ); assert($platform instanceof PostgreSQLPlatform); return new PostgreSQLSchemaManager($conn, $platform); } public function getExceptionConverter(): ExceptionConverter { return new PostgreSQL\ExceptionConverter(); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
API | Folder | 0755 |
|
|
AbstractOracleDriver | Folder | 0755 |
|
|
AbstractSQLServerDriver | Folder | 0755 |
|
|
AbstractSQLiteDriver | Folder | 0755 |
|
|
Exception | Folder | 0755 |
|
|
IBMDB2 | Folder | 0755 |
|
|
Middleware | Folder | 0755 |
|
|
Mysqli | Folder | 0755 |
|
|
OCI8 | Folder | 0755 |
|
|
PDO | Folder | 0755 |
|
|
PgSQL | Folder | 0755 |
|
|
SQLSrv | Folder | 0755 |
|
|
SQLite3 | Folder | 0755 |
|
|
AbstractDB2Driver.php | File | 1.4 KB | 0644 |
|
AbstractException.php | File | 1.05 KB | 0644 |
|
AbstractMySQLDriver.php | File | 6.11 KB | 0644 |
|
AbstractOracleDriver.php | File | 1.81 KB | 0644 |
|
AbstractPostgreSQLDriver.php | File | 2.7 KB | 0644 |
|
AbstractSQLServerDriver.php | File | 1.52 KB | 0644 |
|
AbstractSQLiteDriver.php | File | 1.39 KB | 0644 |
|
Connection.php | File | 1.89 KB | 0644 |
|
Exception.php | File | 404 B | 0644 |
|
FetchUtils.php | File | 1.27 KB | 0644 |
|
Middleware.php | File | 168 B | 0644 |
|
Result.php | File | 2.44 KB | 0644 |
|
ServerInfoAwareConnection.php | File | 543 B | 0644 |
|
Statement.php | File | 3.89 KB | 0644 |
|