]> git.joonet.de Git - adminer.git/commitdiff
MariaDB: Fix creating and altering generated columns (fixes #897)
authorJakub Vrana <jakub@vrana.cz>
Mon, 10 Mar 2025 18:17:22 +0000 (19:17 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 10 Mar 2025 18:18:14 +0000 (19:18 +0100)
adminer/drivers/mysql.inc.php
changes.txt

index b4168e27f3a0ad63f471ca651ed6b672a01113d5..1ca3cde94aadb698243f851b70c73283f011144e 100644 (file)
@@ -786,12 +786,14 @@ if (!defined('Adminer\DRIVER')) {
        * @return bool
        */
        function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) {
+               global $connection;
                $alter = array();
                foreach ($fields as $field) {
                        if ($field[1]) {
                                $default = $field[1][3];
                                if (preg_match('~ GENERATED~', $default)) {
-                                       $field[1][3] = $field[1][2];
+                                       // swap default and null
+                                       $field[1][3] = (preg_match('~MariaDB~', $connection->server_info) ? "" : $field[1][2]); // MariaDB doesn't support NULL on virtual columns
                                        $field[1][2] = $default;
                                }
                                $alter[] = ($table != "" ? ($field[0] != "" ? "CHANGE " . idf_escape($field[0]) : "ADD") : " ") . " " . implode($field[1]) . ($table != "" ? $field[2] : "");
index e4e174ad9577dcb685944386fd544e5c05442090..a77bce596ae4510e091037d9ea71bfa848917770 100644 (file)
@@ -2,6 +2,7 @@ Adminer dev:
 Fix gzip export (bug #896)
 Fix importing multiple SQL files not terminated by semicolon
 Use <datalist> for altering collations
+MariaDB: Fix creating and altering generated columns (bug #897)
 
 Adminer 5.0.2 (released 2025-03-10):
 PostgreSQL: Fix setting NULL and original value on enum (bug #884)