@@ 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} |