diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index f86ff996..f2a4fed0 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -366,7 +366,7 @@ if (!defined("DRIVER")) { * @return mixed Min_DB or string for error */ function connect() { - global $adminer, $types, $structured_types; + global $adminer, $types, $structured_types, $edit_functions; $connection = new Min_DB; $credentials = $adminer->credentials(); if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) { @@ -376,6 +376,11 @@ if (!defined("DRIVER")) { $structured_types[lang('Strings')][] = "json"; $types["json"] = 4294967295; } + if (min_version('', 10.7, $connection)) { + $structured_types[lang('Strings')][] = "uuid"; + $types["uuid"] = 128; + $edit_functions[0]['uuid'] = 'uuid'; + } return $connection; } $return = $connection->error; diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index f637fdd4..05f2c6ab 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -107,7 +107,7 @@ function min_version($version, $maria_db = "", $connection2 = null) { $server_info = $match[1]; $version = $maria_db; } - return (version_compare($server_info, $version) >= 0); + return $version && version_compare($server_info, $version) >= 0; } /** Get connection charset @@ -1495,6 +1495,10 @@ function edit_form($table, $fields, $row, $update) { $value = ""; $function = "now"; } + if ($field["type"] == "uuid" && $value == "uuid()") { + $value = ""; + $function = "uuid"; + } input($field, $value, $function); echo "\n"; }