From c6080c244537c17bd3df97e070c4da9d237fa388 Mon Sep 17 00:00:00 2001 From: Ivan Yivoff Date: Tue, 10 Sep 2024 13:14:42 +0200 Subject: [PATCH 1/3] Update PlatformHelper.php Conditional checks for existence of 'getNativeConnection' method, but then it doesn't call that method at all, and attempts to call directly `$connection->getServerVersion()`, which would fail because that method is private. --- src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php index f72e5bd..d5f09c0 100644 --- a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php +++ b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php @@ -46,7 +46,7 @@ public static function getServerVersion(Connection $connection): ?string return $connection->getWrappedConnection()->getServerVersion(); } if (method_exists($connection, 'getNativeConnection')) { - return $connection->getServerVersion(); + return $connection->getNativeConnection()->getServerVersion(); } return null; From 3e27a7824dc6d816becc3e453597f6867e99fc3c Mon Sep 17 00:00:00 2001 From: "iy@melendos.es" Date: Tue, 10 Sep 2024 13:40:26 +0200 Subject: [PATCH 2/3] fix getMariaDbMysqlVersionNumber(), because sometimes $versionString may not have a patch version, in which case $versionParts will be `[]`. --- src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php index d5f09c0..7c1f685 100644 --- a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php +++ b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php @@ -104,11 +104,11 @@ public static function getOracleMysqlVersionNumber(string $versionString): strin public static function getMariaDbMysqlVersionNumber(string $versionString): string { preg_match( - '#^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)\.(?P\d+)#i', + '#^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)(\.(?P\d+))?#i', $versionString, $versionParts ); - return $versionParts['major'].'.'.$versionParts['minor'].'.'.$versionParts['patch']; + return $versionParts['major'].'.'.$versionParts['minor'].'.'.($versionParts['patch'] ?? '0'); } } From e4e46ad2cf25a6b914ebf17535215870004604b6 Mon Sep 17 00:00:00 2001 From: "iy@melendos.es" Date: Tue, 10 Sep 2024 14:18:43 +0200 Subject: [PATCH 3/3] Revert "fix getMariaDbMysqlVersionNumber(), because sometimes $versionString may not have a patch version, in which case $versionParts will be `[]`." This reverts commit 3e27a7824dc6d816becc3e453597f6867e99fc3c. --- src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php index 7c1f685..d5f09c0 100644 --- a/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php +++ b/src/Provider/Doctrine/Persistence/Helper/PlatformHelper.php @@ -104,11 +104,11 @@ public static function getOracleMysqlVersionNumber(string $versionString): strin public static function getMariaDbMysqlVersionNumber(string $versionString): string { preg_match( - '#^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)(\.(?P\d+))?#i', + '#^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)\.(?P\d+)#i', $versionString, $versionParts ); - return $versionParts['major'].'.'.$versionParts['minor'].'.'.($versionParts['patch'] ?? '0'); + return $versionParts['major'].'.'.$versionParts['minor'].'.'.$versionParts['patch']; } }