diff --git a/ChangeLog b/ChangeLog
index 6bda6e7aaf..87a65494bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -60,6 +60,7 @@ phpMyAdmin - ChangeLog
- issue #15634 Only use session_set_cookie_params once on PHP >= 7.3.0 versions for single signon auth
- issue #14698 Fixed database named as 'New' (language variable) causes PHP fatal error
- issue #16355 Make textareas both sides resizable
+- issue #16366 Fix column definition form not showing default value
5.0.2 (2020-03-20)
- issue Fixed deprecation warning "implode(): Passing glue string after array is deprecated." function on export page
diff --git a/libraries/classes/CentralColumns.php b/libraries/classes/CentralColumns.php
index 9e11db0a80..5ee9a2b457 100644
--- a/libraries/classes/CentralColumns.php
+++ b/libraries/classes/CentralColumns.php
@@ -799,13 +799,27 @@ class CentralColumns
$meta['DefaultType'] = 'USER_DEFINED';
$meta['DefaultValue'] = $row['col_default'];
}
+
+ $defaultValue = '';
+ $typeUpper = mb_strtoupper((string) $row['col_type']);
+
+ // For a TIMESTAMP, do not show the string "CURRENT_TIMESTAMP" as a default value
+ if (isset($meta['DefaultValue'])) {
+ $defaultValue = $meta['DefaultValue'];
+ }
+ if ($typeUpper == 'BIT') {
+ $defaultValue = Util::convertBitDefaultValue($meta['DefaultValue']);
+ } elseif ($typeUpper == 'BINARY' || $typeUpper == 'VARBINARY') {
+ $defaultValue = bin2hex($meta['DefaultValue']);
+ }
+
$tableHtml .=
'
'
. $this->template->render('columns_definitions/column_default', [
'column_number' => $row_num,
'ci' => 3,
'ci_offset' => 0,
- 'type_upper' => mb_strtoupper((string) $row['col_default']),
+ 'default_value' => $defaultValue,
'column_meta' => $meta,
'char_editing' => $this->charEditing,
])
@@ -1143,6 +1157,7 @@ class CentralColumns
$tables = $this->dbi->getTables($db);
$rows_list = $this->getColumnsList($db, $pos, $max_rows);
+ $defaultValues = [];
$rows_meta = [];
$types_upper = [];
$row_num = 0;
@@ -1150,19 +1165,27 @@ class CentralColumns
$rows_meta[$row_num] = [];
if (! isset($row['col_default']) || $row['col_default'] == '') {
$rows_meta[$row_num]['DefaultType'] = 'NONE';
+ } elseif ($row['col_default'] == 'CURRENT_TIMESTAMP' || $row['col_default'] == 'current_timestamp()') {
+ $rows_meta[$row_num]['DefaultType'] = 'CURRENT_TIMESTAMP';
+ } elseif ($row['col_default'] == 'NULL') {
+ $rows_meta[$row_num]['DefaultType'] = $row['col_default'];
} else {
- if ($row['col_default'] == 'CURRENT_TIMESTAMP'
- || $row['col_default'] == 'current_timestamp()'
- ) {
- $rows_meta[$row_num]['DefaultType'] = 'CURRENT_TIMESTAMP';
- } elseif ($row['col_default'] == 'NULL') {
- $rows_meta[$row_num]['DefaultType'] = $row['col_default'];
- } else {
- $rows_meta[$row_num]['DefaultType'] = 'USER_DEFINED';
- $rows_meta[$row_num]['DefaultValue'] = $row['col_default'];
- }
+ $rows_meta[$row_num]['DefaultType'] = 'USER_DEFINED';
+ $rows_meta[$row_num]['DefaultValue'] = $row['col_default'];
}
$types_upper[$row_num] = mb_strtoupper((string) $row['col_type']);
+
+ // For a TIMESTAMP, do not show the string "CURRENT_TIMESTAMP" as a default value
+ $defaultValues[$row_num] = '';
+ if (isset($rows_meta[$row_num]['DefaultValue'])) {
+ $defaultValues[$row_num] = $rows_meta[$row_num]['DefaultValue'];
+ }
+ if ($types_upper[$row_num] == 'BIT') {
+ $defaultValues[$row_num] = Util::convertBitDefaultValue($rows_meta[$row_num]['DefaultValue']);
+ } elseif ($types_upper[$row_num] == 'BINARY' || $types_upper[$row_num] == 'VARBINARY') {
+ $defaultValues[$row_num] = bin2hex($rows_meta[$row_num]['DefaultValue']);
+ }
+
$row_num++;
}
@@ -1198,6 +1221,7 @@ class CentralColumns
"tables" => $tables,
"rows_list" => $rows_list,
"rows_meta" => $rows_meta,
+ "default_values" => $defaultValues,
"types_upper" => $types_upper,
"pmaThemeImage" => $pmaThemeImage,
"text_dir" => $text_dir,
diff --git a/libraries/tbl_columns_definition_form.inc.php b/libraries/tbl_columns_definition_form.inc.php
index 366d7a2d21..547dea6ab6 100644
--- a/libraries/tbl_columns_definition_form.inc.php
+++ b/libraries/tbl_columns_definition_form.inc.php
@@ -462,7 +462,7 @@ for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) {
if (isset($columnMeta['DefaultValue'])) {
$default_value = $columnMeta['DefaultValue'];
}
- if ($type_upper == 'BIN)') {
+ if ($type_upper == 'BIT') {
$default_value = Util::convertBitDefaultValue($columnMeta['DefaultValue']);
} elseif ($type_upper == 'BINARY' || $type_upper == 'VARBINARY') {
$default_value = bin2hex($columnMeta['DefaultValue']);
diff --git a/templates/columns_definitions/column_attributes.twig b/templates/columns_definitions/column_attributes.twig
index 89eef8620a..8beadd4c47 100644
--- a/templates/columns_definitions/column_attributes.twig
+++ b/templates/columns_definitions/column_attributes.twig
@@ -46,7 +46,6 @@
'ci': ci,
'ci_offset': ci_offset,
'column_meta': column_meta,
- 'type_upper': type_upper,
'default_value': default_value,
'char_editing': char_editing
} only %}
diff --git a/templates/database/central_columns/main.twig b/templates/database/central_columns/main.twig
index 30b7276dd7..331aa8b9ef 100644
--- a/templates/database/central_columns/main.twig
+++ b/templates/database/central_columns/main.twig
@@ -85,7 +85,7 @@
'column_number': 0,
'ci': 3,
'ci_offset': 0,
- 'type_upper': '',
+ 'default_value': '',
'column_meta': {},
'char_editing': char_editing,
} only %}
@@ -333,7 +333,7 @@
'column_number': row_num,
'ci': 3,
'ci_offset': 0,
- 'type_upper': types_upper[row_num],
+ 'default_value': default_values[row_num],
'column_meta': rows_meta[row_num],
'char_editing': char_editing,
} only %}
|