mirror of
https://github.com/vrana/adminer.git
synced 2025-08-09 16:17:48 +02:00
MySQL: Allow setting default values of json column
This commit is contained in:
@@ -603,7 +603,7 @@ if (!defined('Adminer\DRIVER')) {
|
|||||||
preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~', $type, $match_type);
|
preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~', $type, $match_type);
|
||||||
$default = $row["COLUMN_DEFAULT"];
|
$default = $row["COLUMN_DEFAULT"];
|
||||||
if ($default != "") {
|
if ($default != "") {
|
||||||
$is_text = preg_match('~text~', $match_type[1]);
|
$is_text = preg_match('~text|json~', $match_type[1]);
|
||||||
if (!$maria && $is_text) {
|
if (!$maria && $is_text) {
|
||||||
// default value a'b of text column is stored as _utf8mb4\'a\\\'b\' in MySQL
|
// default value a'b of text column is stored as _utf8mb4\'a\\\'b\' in MySQL
|
||||||
$default = preg_replace("~^(_\w+)?('.*')$~", '\2', stripslashes($default));
|
$default = preg_replace("~^(_\w+)?('.*')$~", '\2', stripslashes($default));
|
||||||
|
@@ -314,7 +314,7 @@ function default_value($field) {
|
|||||||
return ($default === null ? "" : (in_array($generated, $driver->generated)
|
return ($default === null ? "" : (in_array($generated, $driver->generated)
|
||||||
? (JUSH == "mssql" ? " AS ($default)" . ($generated == "VIRTUAL" ? "" : " $generated") . "" : " GENERATED ALWAYS AS ($default) $generated")
|
? (JUSH == "mssql" ? " AS ($default)" . ($generated == "VIRTUAL" ? "" : " $generated") . "" : " GENERATED ALWAYS AS ($default) $generated")
|
||||||
: " DEFAULT " . (!preg_match('~^GENERATED ~i', $default) && (preg_match('~char|binary|text|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default))
|
: " DEFAULT " . (!preg_match('~^GENERATED ~i', $default) && (preg_match('~char|binary|text|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default))
|
||||||
? (JUSH == "sql" && preg_match('~text~', $field["type"]) ? "(" . q($default) . ")" : q($default)) // MySQL requires () around default value of text column
|
? (JUSH == "sql" && preg_match('~text|json~', $field["type"]) ? "(" . q($default) . ")" : q($default)) // MySQL requires () around default value of text column
|
||||||
: str_ireplace("current_timestamp()", "CURRENT_TIMESTAMP", (JUSH == "sqlite" ? "($default)" : $default))
|
: str_ireplace("current_timestamp()", "CURRENT_TIMESTAMP", (JUSH == "sqlite" ? "($default)" : $default))
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
@@ -452,7 +452,7 @@ if (!$columns && support("table")) {
|
|||||||
$id = h("val[$unique_idf][" . bracket_escape($key) . "]");
|
$id = h("val[$unique_idf][" . bracket_escape($key) . "]");
|
||||||
$value = $_POST["val"][$unique_idf][bracket_escape($key)];
|
$value = $_POST["val"][$unique_idf][bracket_escape($key)];
|
||||||
$editable = !is_array($row[$key]) && is_utf8($val) && $rows[$n][$key] == $row[$key] && !$functions[$key] && !$field["generated"];
|
$editable = !is_array($row[$key]) && is_utf8($val) && $rows[$n][$key] == $row[$key] && !$functions[$key] && !$field["generated"];
|
||||||
$text = preg_match('~text|lob~', $field["type"]);
|
$text = preg_match('~text|json|lob~', $field["type"]);
|
||||||
echo "<td id='$id'";
|
echo "<td id='$id'";
|
||||||
if (($_GET["modify"] && $editable) || $value !== null) {
|
if (($_GET["modify"] && $editable) || $value !== null) {
|
||||||
$h_value = h($value !== null ? $value : $row[$key]);
|
$h_value = h($value !== null ? $value : $row[$key]);
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
Adminer dev:
|
Adminer dev:
|
||||||
MySQL: Display default values of binary columns
|
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)
|
MariaDB: Don't display NULL as default value (regression from 5.0.0)
|
||||||
PostgreSQL PDO: Escape bytea values (bug #218)
|
PostgreSQL PDO: Escape bytea values (bug #218)
|
||||||
MS SQL: Fix editing rows with datetime column in primary key
|
MS SQL: Fix editing rows with datetime column in primary key
|
||||||
|
Reference in New Issue
Block a user