aboutsummaryrefslogtreecommitdiff
path: root/lib/classes
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-01-27 13:03:54 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-01-31 11:35:20 +0100
commitc0c213a5bba3d9cad61338edfbe85bc4743c4ba4 (patch)
tree476df060380e40f1f1bb69dfde9e95e67adbd999 /lib/classes
parentb14195685a31e872468e9b5a6b6cf1fa60e700ed (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.php16
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;
}
}