]> git.joonet.de Git - adminer.git/commitdiff
MySQL: Fix saving string default value of json field
authorPeter Knut <peter@pematon.com>
Wed, 12 Mar 2025 23:00:23 +0000 (00:00 +0100)
committerJakub Vrana <jakub@vrana.cz>
Thu, 13 Mar 2025 06:19:27 +0000 (07:19 +0100)
adminer/include/editing.inc.php

index b1a9993a5bedc8ee53977b485df42ea9fe6e1071..bf24a0a7b1c5308e3444e3c71316fd32b26f92eb 100644 (file)
@@ -313,7 +313,7 @@ function default_value($field) {
        $generated = $field["generated"];
        return ($default === null ? "" : (in_array($generated, $driver->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|json|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default))
                        ? (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))
                )