Returns a new instance for an invalid specified platform version.
public static invalidPlatformVersionSpecified ( string $version, string $expectedFormat ) : |
||
$version | string | The invalid platform version given. |
$expectedFormat | string | The expected platform version format. |
return |
/** * {@inheritdoc} */ public function createDatabasePlatformForVersion($version) { if (!preg_match('/^(?P<major>\\d+)(?:\\.(?P<minor>\\d+)(?:\\.(?P<patch>\\d+))?)?/', $version, $versionParts)) { throw DBALException::invalidPlatformVersionSpecified($version, '<major_version>.<minor_version>.<patch_version>'); } $majorVersion = $versionParts['major']; $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0; $patchVersion = isset($versionParts['patch']) ? $versionParts['patch'] : 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion; switch (true) { case version_compare($version, '9.2', '>='): return new PostgreSQL92Platform(); case version_compare($version, '9.1', '>='): return new PostgreSQL91Platform(); default: return new PostgreSqlPlatform(); } }
/** * {@inheritdoc} */ public function createDatabasePlatformForVersion($version) { if (!preg_match('/^(?P<major>\\d+)(?:\\.(?P<minor>\\d+)(?:\\.(?P<patch>\\d+)(?:\\.(?P<build>\\d+))?)?)?/', $version, $versionParts)) { throw DBALException::invalidPlatformVersionSpecified($version, '<major_version>.<minor_version>.<patch_version>.<build_version>'); } $majorVersion = $versionParts['major']; $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0; $patchVersion = isset($versionParts['patch']) ? $versionParts['patch'] : 0; $buildVersion = isset($versionParts['build']) ? $versionParts['build'] : 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion . '.' . $buildVersion; switch (true) { case version_compare($version, '11.00.2100', '>='): return new SQLServer2012Platform(); case version_compare($version, '10.00.1600', '>='): return new SQLServer2008Platform(); case version_compare($version, '9.00.1399', '>='): return new SQLServer2005Platform(); default: return new SQLServerPlatform(); } }
/** * {@inheritdoc} */ public function createDatabasePlatformForVersion($version) { if (!preg_match('/^(?P<major>\\d+)(?:\\.(?P<minor>\\d+)(?:\\.(?P<patch>\\d+))?)?/', $version, $versionParts)) { throw DBALException::invalidPlatformVersionSpecified($version, '<major_version>.<minor_version>.<patch_version>'); } if (false !== stripos($version, 'mariadb')) { return $this->getDatabasePlatform(); } $majorVersion = $versionParts['major']; $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0; $patchVersion = isset($versionParts['patch']) ? $versionParts['patch'] : 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion; if (version_compare($version, '5.7', '>=')) { return new MySQL57Platform(); } return $this->getDatabasePlatform(); }
/** * {@inheritdoc} * * @see http://www-01.ibm.com/support/knowledgecenter/SSGU8G_11.50.0/com.ibm.sqls.doc/ids_sqs_1491.htm */ public function createDatabasePlatformForVersion($version) { $regex = '/^(?P<server_type>.*) (?i:\\s+Version\\s+) (?P<major>\\d+)\\. (?P<minor>\\d+)\\. (?P<so>F|H|T|U) (?P<level>[[:alnum:]]+)/x'; if (!preg_match($regex, $version, $versionParts)) { throw DBALException::invalidPlatformVersionSpecified($version, '<server_type> Version <major>.<minor><os><level>'); } // Right now only exists one platform for all versions return $this->getDatabasePlatform(); }