mirror of
https://github.com/processwire/processwire.git
synced 2025-08-10 08:44:46 +02:00
Update $database API var to have new methods: getVersion() and getRegexEngine()
This commit is contained in:
@@ -1037,6 +1037,42 @@ class WireDatabasePDO extends Wire implements WireDatabase {
|
|||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get MySQL/MariaDB version
|
||||||
|
*
|
||||||
|
* Example return values:
|
||||||
|
*
|
||||||
|
* - 5.7.23
|
||||||
|
* - 10.1.34-MariaDB
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.0.166
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function getVersion() {
|
||||||
|
return $this->getVariable('version', true, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the regular expression engine used by database
|
||||||
|
*
|
||||||
|
* Returns one of 'ICU' (MySQL 8.0.4+) or 'HenrySpencer' (earlier versions and MariaDB)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.0.166
|
||||||
|
* @todo this will need to be updated when/if MariaDB adds version that uses ICU engine
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function getRegexEngine() {
|
||||||
|
$version = $this->getVersion();
|
||||||
|
$name = 'MySQL';
|
||||||
|
if(strpos($version, '-')) list($version, $name) = explode('-', $version, 2);
|
||||||
|
if(strpos($name, 'mariadb') === false) {
|
||||||
|
if(version_compare($version, '8.0.4', '>=')) return 'ICU';
|
||||||
|
}
|
||||||
|
return 'HenrySpencer';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get current database engine (lowercase)
|
* Get current database engine (lowercase)
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user