include database version in sys info
This commit is contained in:
parent
2d0b107adb
commit
511a82f2ba
3 changed files with 23 additions and 3 deletions
|
@ -139,6 +139,11 @@ class Database
|
||||||
return $this->engine->name;
|
return $this->engine->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_version(): string
|
||||||
|
{
|
||||||
|
return $this->engine->get_version($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
private function count_time(string $method, float $start, string $query, ?array $args): void
|
private function count_time(string $method, float $start, string $query, ?array $args): void
|
||||||
{
|
{
|
||||||
global $_tracer, $tracer_enabled;
|
global $_tracer, $tracer_enabled;
|
||||||
|
|
|
@ -31,6 +31,8 @@ abstract class DBEngine
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract public function set_timeout(PDO $db, int $time);
|
abstract public function set_timeout(PDO $db, int $time);
|
||||||
|
|
||||||
|
abstract public function get_version(PDO $db): string;
|
||||||
}
|
}
|
||||||
|
|
||||||
class MySQL extends DBEngine
|
class MySQL extends DBEngine
|
||||||
|
@ -68,12 +70,15 @@ class MySQL extends DBEngine
|
||||||
// These only apply to read-only queries, which appears to be the best we can to mysql-wise
|
// These only apply to read-only queries, which appears to be the best we can to mysql-wise
|
||||||
// $db->exec("SET SESSION MAX_EXECUTION_TIME=".$time.";");
|
// $db->exec("SET SESSION MAX_EXECUTION_TIME=".$time.";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_version(PDO $db): string
|
||||||
|
{
|
||||||
|
return $db->query('select version()')->fetch()[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PostgreSQL extends DBEngine
|
class PostgreSQL extends DBEngine
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public $name = DatabaseDriver::PGSQL;
|
public $name = DatabaseDriver::PGSQL;
|
||||||
|
|
||||||
|
@ -110,6 +115,11 @@ class PostgreSQL extends DBEngine
|
||||||
{
|
{
|
||||||
$db->exec("SET statement_timeout TO ".$time.";");
|
$db->exec("SET statement_timeout TO ".$time.";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_version(PDO $db): string
|
||||||
|
{
|
||||||
|
return $db->query('select version()')->fetch()[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// shimmie functions for export to sqlite
|
// shimmie functions for export to sqlite
|
||||||
|
@ -216,4 +226,9 @@ class SQLite extends DBEngine
|
||||||
{
|
{
|
||||||
// There doesn't seem to be such a thing for SQLite, so it does nothing
|
// There doesn't seem to be such a thing for SQLite, so it does nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_version(PDO $db): string
|
||||||
|
{
|
||||||
|
return $db->query('select sqlite_version()')->fetch()[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ class ET extends Extension
|
||||||
'shimmie' => VERSION,
|
'shimmie' => VERSION,
|
||||||
'schema' => $config->get_int("db_version"),
|
'schema' => $config->get_int("db_version"),
|
||||||
'php' => phpversion(),
|
'php' => phpversion(),
|
||||||
'db' => $database->get_driver_name(),
|
'db' => $database->get_driver_name() . " " . $database->get_version(),
|
||||||
'os' => php_uname(),
|
'os' => php_uname(),
|
||||||
'server' => isset($_SERVER["SERVER_SOFTWARE"]) ? $_SERVER["SERVER_SOFTWARE"] : 'unknown',
|
'server' => isset($_SERVER["SERVER_SOFTWARE"]) ? $_SERVER["SERVER_SOFTWARE"] : 'unknown',
|
||||||
],
|
],
|
||||||
|
|
Reference in a new issue