PostgreSQL: Fix exporting string default values (thanks to PotatoPangolin)
This commit is contained in:
parent
ea4ac5c8f3
commit
eeb7ce1939
|
@ -704,7 +704,7 @@ AND typelem = 0"
|
||||||
// fields' definitions
|
// fields' definitions
|
||||||
foreach ($fields as $field_name => $field) {
|
foreach ($fields as $field_name => $field) {
|
||||||
$part = idf_escape($field['field']) . ' ' . $field['full_type']
|
$part = idf_escape($field['field']) . ' ' . $field['full_type']
|
||||||
. (is_null($field['default']) ? "" : " DEFAULT $field[default]")
|
. default_value($field)
|
||||||
. ($field['attnotnull'] ? " NOT NULL" : "");
|
. ($field['attnotnull'] ? " NOT NULL" : "");
|
||||||
$return_parts[] = $part;
|
$return_parts[] = $part;
|
||||||
|
|
||||||
|
|
|
@ -195,19 +195,26 @@ function process_type($field, $collate = "COLLATE") {
|
||||||
* @return array array("field", "type", "NULL", "DEFAULT", "ON UPDATE", "COMMENT", "AUTO_INCREMENT")
|
* @return array array("field", "type", "NULL", "DEFAULT", "ON UPDATE", "COMMENT", "AUTO_INCREMENT")
|
||||||
*/
|
*/
|
||||||
function process_field($field, $type_field) {
|
function process_field($field, $type_field) {
|
||||||
global $jush;
|
|
||||||
$default = $field["default"];
|
|
||||||
return array(
|
return array(
|
||||||
idf_escape(trim($field["field"])),
|
idf_escape(trim($field["field"])),
|
||||||
process_type($type_field),
|
process_type($type_field),
|
||||||
($field["null"] ? " NULL" : " NOT NULL"), // NULL for timestamp
|
($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]" : ""),
|
(preg_match('~timestamp|datetime~', $field["type"]) && $field["on_update"] ? " ON UPDATE $field[on_update]" : ""),
|
||||||
(support("comment") && $field["comment"] != "" ? " COMMENT " . q($field["comment"]) : ""),
|
(support("comment") && $field["comment"] != "" ? " COMMENT " . q($field["comment"]) : ""),
|
||||||
($field["auto_increment"] ? auto_increment() : null),
|
($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
|
/** Get type class to use in CSS
|
||||||
* @param string
|
* @param string
|
||||||
* @return string class=''
|
* @return string class=''
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
Adminer 4.6.2-dev:
|
Adminer 4.6.2-dev:
|
||||||
Semi-transparent border on table actions
|
Semi-transparent border on table actions
|
||||||
Shorten JSON values in select (bug #594)
|
Shorten JSON values in select (bug #594)
|
||||||
|
PostgreSQL: Fix exporting string default values
|
||||||
PostgreSQL: Fix exporting sequences in PostgreSQL 10
|
PostgreSQL: Fix exporting sequences in PostgreSQL 10
|
||||||
|
|
||||||
Adminer 4.6.1 (released 2018-02-09):
|
Adminer 4.6.1 (released 2018-02-09):
|
||||||
|
|
Loading…
Reference in a new issue