| @@ 89-118 (lines=30) @@ | ||
| 86 | /** |
|
| 87 | * {@inheritdoc} |
|
| 88 | */ |
|
| 89 | public function createDatabasePlatformForVersion($version) |
|
| 90 | { |
|
| 91 | if ( ! preg_match( |
|
| 92 | '/^(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>\d+)(?:\.(?P<build>\d+))?)?)?/', |
|
| 93 | $version, |
|
| 94 | $versionParts |
|
| 95 | )) { |
|
| 96 | throw DBALException::invalidPlatformVersionSpecified( |
|
| 97 | $version, |
|
| 98 | '<major_version>.<minor_version>.<patch_version>.<build_version>' |
|
| 99 | ); |
|
| 100 | } |
|
| 101 | ||
| 102 | $majorVersion = $versionParts['major']; |
|
| 103 | $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0; |
|
| 104 | $patchVersion = isset($versionParts['patch']) ? $versionParts['patch'] : 0; |
|
| 105 | $buildVersion = isset($versionParts['build']) ? $versionParts['build'] : 0; |
|
| 106 | $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion . '.' . $buildVersion; |
|
| 107 | ||
| 108 | switch(true) { |
|
| 109 | case version_compare($version, '16', '>='): |
|
| 110 | return new SQLAnywhere16Platform(); |
|
| 111 | case version_compare($version, '12', '>='): |
|
| 112 | return new SQLAnywhere12Platform(); |
|
| 113 | case version_compare($version, '11', '>='): |
|
| 114 | return new SQLAnywhere11Platform(); |
|
| 115 | default: |
|
| 116 | return new SQLAnywherePlatform(); |
|
| 117 | } |
|
| 118 | } |
|
| 119 | ||
| 120 | /** |
|
| 121 | * {@inheritdoc} |
|
| @@ 43-72 (lines=30) @@ | ||
| 40 | /** |
|
| 41 | * {@inheritdoc} |
|
| 42 | */ |
|
| 43 | public function createDatabasePlatformForVersion($version) |
|
| 44 | { |
|
| 45 | if ( ! preg_match( |
|
| 46 | '/^(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>\d+)(?:\.(?P<build>\d+))?)?)?/', |
|
| 47 | $version, |
|
| 48 | $versionParts |
|
| 49 | )) { |
|
| 50 | throw DBALException::invalidPlatformVersionSpecified( |
|
| 51 | $version, |
|
| 52 | '<major_version>.<minor_version>.<patch_version>.<build_version>' |
|
| 53 | ); |
|
| 54 | } |
|
| 55 | ||
| 56 | $majorVersion = $versionParts['major']; |
|
| 57 | $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0; |
|
| 58 | $patchVersion = isset($versionParts['patch']) ? $versionParts['patch'] : 0; |
|
| 59 | $buildVersion = isset($versionParts['build']) ? $versionParts['build'] : 0; |
|
| 60 | $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion . '.' . $buildVersion; |
|
| 61 | ||
| 62 | switch(true) { |
|
| 63 | case version_compare($version, '11.00.2100', '>='): |
|
| 64 | return new SQLServer2012Platform(); |
|
| 65 | case version_compare($version, '10.00.1600', '>='): |
|
| 66 | return new SQLServer2008Platform(); |
|
| 67 | case version_compare($version, '9.00.1399', '>='): |
|
| 68 | return new SQLServer2005Platform(); |
|
| 69 | default: |
|
| 70 | return new SQLServerPlatform(); |
|
| 71 | } |
|
| 72 | } |
|
| 73 | ||
| 74 | /** |
|
| 75 | * {@inheritdoc} |
|