PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.36.0
MailPoet – Newsletters, Email Marketing, and Automation v5.36.0
5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor-prefixed / doctrine / dbal / src / Driver / AbstractMySQLDriver.php
mailpoet / vendor-prefixed / doctrine / dbal / src / Driver Last commit date
API 9 months ago Exception 2 years ago Middleware 2 years ago AbstractException.php 2 years ago AbstractMySQLDriver.php 9 months ago Connection.php 2 years ago Exception.php 2 years ago FetchUtils.php 2 years ago Middleware.php 2 years ago Result.php 2 years ago ServerInfoAwareConnection.php 2 years ago Statement.php 2 years ago index.php 2 years ago
AbstractMySQLDriver.php
117 lines
1 <?php
2 namespace MailPoetVendor\Doctrine\DBAL\Driver;
3 if (!defined('ABSPATH')) exit;
4 use MailPoetVendor\Doctrine\DBAL\Connection;
5 use MailPoetVendor\Doctrine\DBAL\Driver\API\ExceptionConverter;
6 use MailPoetVendor\Doctrine\DBAL\Driver\API\MySQL;
7 use MailPoetVendor\Doctrine\DBAL\Exception;
8 use MailPoetVendor\Doctrine\DBAL\Platforms\AbstractMySQLPlatform;
9 use MailPoetVendor\Doctrine\DBAL\Platforms\AbstractPlatform;
10 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb1010Platform;
11 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb1027Platform;
12 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb1043Platform;
13 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb1052Platform;
14 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb1060Platform;
15 use MailPoetVendor\Doctrine\DBAL\Platforms\MariaDb110700Platform;
16 use MailPoetVendor\Doctrine\DBAL\Platforms\MySQL57Platform;
17 use MailPoetVendor\Doctrine\DBAL\Platforms\MySQL80Platform;
18 use MailPoetVendor\Doctrine\DBAL\Platforms\MySQL84Platform;
19 use MailPoetVendor\Doctrine\DBAL\Platforms\MySQLPlatform;
20 use MailPoetVendor\Doctrine\DBAL\Schema\MySQLSchemaManager;
21 use MailPoetVendor\Doctrine\DBAL\VersionAwarePlatformDriver;
22 use MailPoetVendor\Doctrine\Deprecations\Deprecation;
23 use function assert;
24 use function preg_match;
25 use function stripos;
26 use function version_compare;
27 abstract class AbstractMySQLDriver implements VersionAwarePlatformDriver
28 {
29 public function createDatabasePlatformForVersion($version)
30 {
31 $mariadb = stripos($version, 'mariadb') !== \false;
32 if ($mariadb) {
33 $mariaDbVersion = $this->getMariaDbMysqlVersionNumber($version);
34 if (version_compare($mariaDbVersion, '11.7.0', '>=')) {
35 return new MariaDb110700Platform();
36 }
37 if (version_compare($mariaDbVersion, '10.10.0', '>=')) {
38 return new MariaDb1010Platform();
39 }
40 if (version_compare($mariaDbVersion, '10.6.0', '>=')) {
41 return new MariaDb1060Platform();
42 }
43 if (version_compare($mariaDbVersion, '10.5.2', '>=')) {
44 return new MariaDb1052Platform();
45 }
46 if (version_compare($mariaDbVersion, '10.4.3', '>=')) {
47 return new MariaDb1043Platform();
48 }
49 Deprecation::trigger('doctrine/dbal', 'https://github.com/doctrine/dbal/pull/6110', 'Support for MariaDB < 10.4 is deprecated and will be removed in DBAL 4.' . ' Consider upgrading to a more recent version of MariaDB.');
50 if (version_compare($mariaDbVersion, '10.2.7', '>=')) {
51 return new MariaDb1027Platform();
52 }
53 } else {
54 $oracleMysqlVersion = $this->getOracleMysqlVersionNumber($version);
55 if (version_compare($oracleMysqlVersion, '8.4.0', '>=')) {
56 if (!version_compare($version, '8.4.0', '>=')) {
57 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/dbal/pull/5779', 'Version detection logic for MySQL will change in DBAL 4. ' . 'Please specify the version as the server reports it, e.g. "8.4.0" instead of "8.4".');
58 }
59 return new MySQL84Platform();
60 }
61 if (version_compare($oracleMysqlVersion, '8', '>=')) {
62 if (!version_compare($version, '8.0.0', '>=')) {
63 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/dbal/pull/5779', 'Version detection logic for MySQL will change in DBAL 4. ' . 'Please specify the version as the server reports it, e.g. "8.0.31" instead of "8".');
64 }
65 return new MySQL80Platform();
66 }
67 if (version_compare($oracleMysqlVersion, '5.7.9', '>=')) {
68 if (!version_compare($version, '5.7.9', '>=')) {
69 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/dbal/pull/5779', 'Version detection logic for MySQL will change in DBAL 4. ' . 'Please specify the version as the server reports it, e.g. "5.7.40" instead of "5.7".');
70 }
71 return new MySQL57Platform();
72 }
73 Deprecation::trigger('doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5072', 'MySQL 5.6 support is deprecated and will be removed in DBAL 4.' . ' Consider upgrading to MySQL 5.7 or later.');
74 }
75 return $this->getDatabasePlatform();
76 }
77 private function getOracleMysqlVersionNumber(string $versionString) : string
78 {
79 if (preg_match('/^(?P<major>\\d+)(?:\\.(?P<minor>\\d+)(?:\\.(?P<patch>\\d+))?)?/', $versionString, $versionParts) !== 1) {
80 throw Exception::invalidPlatformVersionSpecified($versionString, '<major_version>.<minor_version>.<patch_version>');
81 }
82 $majorVersion = $versionParts['major'];
83 $minorVersion = $versionParts['minor'] ?? 0;
84 $patchVersion = $versionParts['patch'] ?? null;
85 if ($majorVersion === '5' && $minorVersion === '7') {
86 $patchVersion ??= '9';
87 } else {
88 $patchVersion ??= '0';
89 }
90 return $majorVersion . '.' . $minorVersion . '.' . $patchVersion;
91 }
92 private function getMariaDbMysqlVersionNumber(string $versionString) : string
93 {
94 if (stripos($versionString, 'MariaDB') === 0) {
95 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/dbal/pull/5779', 'Version detection logic for MySQL will change in DBAL 4. ' . 'Please specify the version as the server reports it, ' . 'e.g. "10.9.3-MariaDB" instead of "mariadb-10.9".');
96 }
97 if (preg_match('/^(?:5\\.5\\.5-)?(mariadb-)?(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)/i', $versionString, $versionParts) !== 1) {
98 throw Exception::invalidPlatformVersionSpecified($versionString, '^(?:5\\.5\\.5-)?(mariadb-)?<major_version>.<minor_version>.<patch_version>');
99 }
100 return $versionParts['major'] . '.' . $versionParts['minor'] . '.' . $versionParts['patch'];
101 }
102 public function getDatabasePlatform()
103 {
104 return new MySQLPlatform();
105 }
106 public function getSchemaManager(Connection $conn, AbstractPlatform $platform)
107 {
108 Deprecation::triggerIfCalledFromOutside('doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5458', 'AbstractMySQLDriver::getSchemaManager() is deprecated.' . ' Use MySQLPlatform::createSchemaManager() instead.');
109 assert($platform instanceof AbstractMySQLPlatform);
110 return new MySQLSchemaManager($conn, $platform);
111 }
112 public function getExceptionConverter() : ExceptionConverter
113 {
114 return new MySQL\ExceptionConverter();
115 }
116 }
117