]> git.joonet.de Git - adminer.git/commitdiff
PostgreSQL: Fix exporting string default values (thanks to PotatoPangolin)
authorJakub Vrana <jakub@vrana.cz>
Fri, 9 Feb 2018 14:29:54 +0000 (15:29 +0100)
committerJakub Vrana <jakub@vrana.cz>
Fri, 9 Feb 2018 14:29:54 +0000 (15:29 +0100)
adminer/drivers/pgsql.inc.php
adminer/include/editing.inc.php
changes.txt

index 1af095f6870965b15997b01515bfeacf0c54bdb4..95f59c80efa0173158cd8e22656d7a462afc42b0 100644 (file)
@@ -704,7 +704,7 @@ AND typelem = 0"
                // fields' definitions
                foreach ($fields as $field_name => $field) {
                        $part = idf_escape($field['field']) . ' ' . $field['full_type']
-                               . (is_null($field['default']) ? "" : " DEFAULT $field[default]")
+                               . default_value($field)
                                . ($field['attnotnull'] ? " NOT NULL" : "");
                        $return_parts[] = $part;
 
index 022b4bc12b6ed6e52fdae39d596fdcea2880ac9e..e1ba19c9981367d502a2b35db836650dcd2f1aa7 100644 (file)
@@ -195,19 +195,26 @@ function process_type($field, $collate = "COLLATE") {
 * @return array array("field", "type", "NULL", "DEFAULT", "ON UPDATE", "COMMENT", "AUTO_INCREMENT")
 */
 function process_field($field, $type_field) {
-       global $jush;
-       $default = $field["default"];
        return array(
                idf_escape(trim($field["field"])),
                process_type($type_field),
                ($field["null"] ? " NULL" : " NOT NULL"), // NULL for timestamp
-               (isset($default) ? " DEFAULT " . (preg_match('~char|binary|text|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default) ? q($default) : $default) : ""),
+               default_value($field),
                (preg_match('~timestamp|datetime~', $field["type"]) && $field["on_update"] ? " ON UPDATE $field[on_update]" : ""),
                (support("comment") && $field["comment"] != "" ? " COMMENT " . q($field["comment"]) : ""),
                ($field["auto_increment"] ? auto_increment() : null),
        );
 }
 
+/** Get default value clause
+* @param array
+* @return string
+*/
+function default_value($field) {
+       $default = $field["default"];
+       return ($default === null ? "" : " DEFAULT " . (preg_match('~char|binary|text|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default) ? q($default) : $default));
+}
+
 /** Get type class to use in CSS
 * @param string
 * @return string class=''
index 67b8d31667e66dc2267ffd23e14c75e49d297bec..22b3f5bc184a064c0f07eddad8cccd83cf707707 100644 (file)
@@ -1,6 +1,7 @@
 Adminer 4.6.2-dev:
 Semi-transparent border on table actions
 Shorten JSON values in select (bug #594)
+PostgreSQL: Fix exporting string default values
 PostgreSQL: Fix exporting sequences in PostgreSQL 10
 
 Adminer 4.6.1 (released 2018-02-09):