diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index e395e4de..a563eca6 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -330,6 +330,13 @@ if (!defined('Adminer\DRIVER')) { } } + function unconvertFunction($field) { + return (preg_match("~binary~", $field["type"]) ? "UNHEX" + : ($field["type"] == "bit" ? doc_link(array('sql' => 'bit-value-literals.html'), "b''") + : (preg_match("~geometry|point|linestring|polygon~", $field["type"]) ? "GeomFromText" + : ""))); + } + function insert($table, $set) { return ($set ? parent::insert($table, $set) : queries("INSERT INTO " . table($table) . " ()\nVALUES ()")); } diff --git a/adminer/include/driver.inc.php b/adminer/include/driver.inc.php index 175b5f80..ae9289cf 100644 --- a/adminer/include/driver.inc.php +++ b/adminer/include/driver.inc.php @@ -66,6 +66,13 @@ abstract class SqlDriver { function enumLength($field) { } + /** Function used to convert the value inputted by user + * @param array + * @return string or null + */ + function unconvertFunction($field) { + } + /** Select data from table * @param string * @param array result of $adminer->selectColumnsProcess()[0] diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 1fa23657..8d8138bf 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -934,6 +934,7 @@ function input($field, $value, $function) { $field["type"] = "enum"; $field["length"] = $enums; } + echo $driver->unconvertFunction($field) . " "; if ($field["type"] == "enum") { echo h($functions[""]) . "" . $adminer->editInput($_GET["edit"], $field, $attrs, $value); } else { diff --git a/changes.txt b/changes.txt index 4b632f1e..7d763c6b 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,5 @@ Adminer dev: +MySQL: Display converting function for binary, bit or geometry fields MySQL: Display default values of binary columns MySQL: Allow setting default values of json column MariaDB: Don't display NULL as default value (regression from 5.0.0) diff --git a/externals/jush b/externals/jush index 792086f0..e095c0d5 160000 --- a/externals/jush +++ b/externals/jush @@ -1 +1 @@ -Subproject commit 792086f0fd28a5fda161b4b669485d3bf3ea37ff +Subproject commit e095c0d590d2e228f989739c6bcb206b54168c07