]> git.joonet.de Git - adminer.git/commitdiff
MySQL: Skip editing generated columns
authorMalte Riesch <malteriesch@googlemail.com>
Fri, 16 Aug 2019 11:07:19 +0000 (12:07 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 19 Aug 2019 14:51:28 +0000 (16:51 +0200)
adminer/drivers/mysql.inc.php
adminer/edit.inc.php
changes.txt

index 9e426b18446f518b2cb9fbb4a369b56ba4427a33..563d1ffe56906946bb35aa4b3118a063cac0c389 100644 (file)
@@ -555,6 +555,7 @@ if (!defined("DRIVER")) {
                                "privileges" => array_flip(preg_split('~, *~', $row["Privileges"])),
                                "comment" => $row["Comment"],
                                "primary" => ($row["Key"] == "PRI"),
+                               "generated" => preg_match('~ GENERATED$~', $row["Extra"]),
                        );
                }
                return $return;
index a62831617abc732b0fd9cc69241756b67d2fb9c1..bdc1fca6f8448a6e13373fd29e8c8f4613248962 100644 (file)
@@ -4,7 +4,7 @@ $fields = fields($TABLE);
 $where = (isset($_GET["select"]) ? ($_POST["check"] && count($_POST["check"]) == 1 ? where_check($_POST["check"][0], $fields) : "") : where($_GET, $fields));
 $update = (isset($_GET["select"]) ? $_POST["edit"] : $where);
 foreach ($fields as $name => $field) {
-       if (!isset($field["privileges"][$update ? "update" : "insert"]) || $adminer->fieldName($field) == "") {
+       if (!isset($field["privileges"][$update ? "update" : "insert"]) || $adminer->fieldName($field) == "" || $field["generated"]) {
                unset($fields[$name]);
        }
 }
index 6d2ec5eec916f9582a12a76e0bb2facfbec0a3e2..300bb47b9cd6f0dbcf12c769e194a7c49b1f1b1a 100644 (file)
@@ -1,3 +1,6 @@
+Adminer 4.7.3-dev:
+MySQL: Skip editing generated columns
+
 Adminer 4.7.2 (released 2019-07-18):
 Do not attempt logging in without password (bug #676)
 Stretch footer over the whole table width (bug #624)