]> git.joonet.de Git - adminer.git/commitdiff
Allow DEFAULT '' (thanks to pojizdna kocka)
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Mon, 9 Mar 2009 15:17:36 +0000 (15:17 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Mon, 9 Mar 2009 15:17:36 +0000 (15:17 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@564 7c3ca157-0c34-0410-bff1-cbf682f78f5c

create.inc.php
edit.inc.php
editing.inc.php

index 5acf780b5e24bd6b8d17ddc61cd6d3208b76b133..da8e103fe54d3eeacbeaeb05f7eb32d4e5ad10a3 100644 (file)
@@ -31,7 +31,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
                                $fields[] = (!strlen($_GET["create"]) ? "" : (strlen($field["orig"]) ? "CHANGE " . idf_escape($field["orig"]) . " " : "ADD "))
                                        . idf_escape($field["field"]) . process_type($field)
                                        . ($field["null"] ? " NULL" : " NOT NULL") // NULL for timestamp
-                                       . (strlen($_GET["create"]) && strlen($field["orig"]) && strlen($orig_fields[$field["orig"]]["default"]) && $field["type"] != "timestamp" ? " DEFAULT '" . $mysql->escape_string($orig_fields[$field["orig"]]["default"]) . "'" : "")
+                                       . (strlen($_GET["create"]) && strlen($field["orig"]) && isset($orig_fields[$field["orig"]]["default"]) && $field["type"] != "timestamp" ? " DEFAULT '" . $mysql->escape_string($orig_fields[$field["orig"]]["default"]) . "'" : "") //! timestamp
                                        . ($key == $_POST["auto_increment_col"] ? " AUTO_INCREMENT$auto_increment_index" : "")
                                        . " COMMENT '" . $mysql->escape_string($field["comment"]) . "'"
                                        . (strlen($_GET["create"]) ? " $after" : "")
index bf6c26a6ca7e840e212fee9475f40870c5fb549f..7e4b533adde51e7bdbaf79ded6d4f15bc664a359 100644 (file)
@@ -20,10 +20,10 @@ if ($_POST && !$error && !isset($_GET["select"])) {
                                        $set[] = idf_escape($name) . " = " . ($val !== false ? $val : "''");
                                }
                        } elseif ($val !== false) {
-                               if ($field["type"] == "timestamp") {
+                               if ($field["type"] == "timestamp" && $val != "NULL") { //! doesn't allow DEFAULT NULL and no ON UPDATE
                                        $set[] = " MODIFY " . idf_escape($name) . " timestamp" . ($field["null"] ? " NULL" : "") . " DEFAULT $val" . ($_POST["on_update"][bracket_escape($name)] ? " ON UPDATE CURRENT_TIMESTAMP" : "");
                                } else {
-                                       $set[] = " ALTER " . idf_escape($name) . ($val == ($field["null"] || $field["type"] == "enum" ? "NULL" : "''") ? " DROP DEFAULT" : " SET DEFAULT $val");
+                                       $set[] = " ALTER " . idf_escape($name) . ($val == "NULL" ? " DROP DEFAULT" : " SET DEFAULT $val");
                                }
                        }
                }
index ac37f3558a70590d6c1a9be4c3674a73dc8843a7..71373852dbcf95ac9ca966f0b4f5ad4cefe99593 100644 (file)
@@ -19,7 +19,7 @@ function input($name, $field, $value) {
                        echo ' <label><input type="radio" name="fields[' . $name . ']" value="' . (isset($_GET["default"]) ? (strlen($val) ? htmlspecialchars($val) : " ") : $i+1) . '"' . ($checked ? ' checked="checked"' : '') . ' />' . htmlspecialchars($val) . '</label>';
                }
        } else {
-               $first = $field["null"] + isset($_GET["select"]);
+               $first = ($field["null"] || isset($_GET["default"])) + isset($_GET["select"]);
                $onchange = ($first ? ' onchange="var f = this.form[\'function[' . addcslashes($name, "\r\n'\\") . ']\']; if (' . $first . ' > f.selectedIndex) f.selectedIndex = ' . $first . ';"' : '');
                $options = array("");
                if (!isset($_GET["default"])) {
@@ -30,7 +30,7 @@ function input($name, $field, $value) {
                                $options = array("", "+", "-");
                        }
                }
-               if ($field["null"]) {
+               if ($field["null"] || isset($_GET["default"])) {
                        array_unshift($options, "NULL");
                }
                if (count($options) > 1 || isset($_GET["select"])) {