diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-01-27 13:03:54 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-01-31 11:35:20 +0100 |
| commit | c0c213a5bba3d9cad61338edfbe85bc4743c4ba4 (patch) | |
| tree | 476df060380e40f1f1bb69dfde9e95e67adbd999 /lib/classes | |
| parent | b14195685a31e872468e9b5a6b6cf1fa60e700ed (diff) | |
fix sorm default string values for mariadb >= 10.2.7, fixes #4462
Closes #4462
Merge request studip/studip!3250
Diffstat (limited to 'lib/classes')
| -rw-r--r-- | lib/classes/StudipPDO.class.php | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/classes/StudipPDO.class.php b/lib/classes/StudipPDO.class.php index e77a37f..b4cc7ea 100644 --- a/lib/classes/StudipPDO.class.php +++ b/lib/classes/StudipPDO.class.php @@ -404,10 +404,22 @@ class StudipPDO extends PDO /** * Determine if the connected database is a MariaDB database. * + * @param string|null $min_version Optional check for a specific minimal + * version * @return bool */ - public function isMariaDB(): bool + public function isMariaDB(?string $min_version = null): bool { - return stripos($this->getAttribute(\PDO::ATTR_SERVER_VERSION), 'MariaDB') !== false; + $db_version = $this->getAttribute(\PDO::ATTR_SERVER_VERSION); + + if (stripos($db_version, 'MariaDB') === false) { + return false; + } + + if ($min_version === null) { + return true; + } + + return version_compare($db_version, $min_version) >= 0; } } |
