From e636a19206c6a44e731773c4b296271987d0375e Mon Sep 17 00:00:00 2001 From: Spun Nakandala Date: Mon, 5 Aug 2013 11:41:32 +0530 Subject: [PATCH] added method PMA_getRowDataForFieldsMetaSet --- libraries/tbl_columns_definition_form.inc.php | 33 ++-------------- libraries/tbl_columns_definition_form.lib.php | 39 +++++++++++++++++++ 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/libraries/tbl_columns_definition_form.inc.php b/libraries/tbl_columns_definition_form.inc.php index 0fe95993b4..97308f8c14 100644 --- a/libraries/tbl_columns_definition_form.inc.php +++ b/libraries/tbl_columns_definition_form.inc.php @@ -89,35 +89,10 @@ for ($i = 0; $i < $num_fields; $i++) { $comments_map, $mime_map ); } elseif (isset($fields_meta[$i])) { - $row = $fields_meta[$i]; - switch ($row['Default']) { - case null: - if ($row['Null'] == 'YES') { - $row['DefaultType'] = 'NULL'; - $row['DefaultValue'] = ''; - // SHOW FULL COLUMNS does not report the case - // when there is a DEFAULT value which is empty so we need to use the - // results of SHOW CREATE TABLE - } elseif (isset($row) - && isset($analyzed_sql[0]['create_table_fields'][$row['Field']] - ['default_value']) - ) { - $row['DefaultType'] = 'USER_DEFINED'; - $row['DefaultValue'] = $row['Default']; - } else { - $row['DefaultType'] = 'NONE'; - $row['DefaultValue'] = ''; - } - break; - case 'CURRENT_TIMESTAMP': - $row['DefaultType'] = 'CURRENT_TIMESTAMP'; - $row['DefaultValue'] = ''; - break; - default: - $row['DefaultType'] = 'USER_DEFINED'; - $row['DefaultValue'] = $row['Default']; - break; - } + $row = PMA_getRowDataForFieldsMetaSet( + $fields_meta[$i], isset($analyzed_sql[0]['create_table_fields'] + [$row['Field']]['default_value']) + ); } if (isset($row['Type'])) { diff --git a/libraries/tbl_columns_definition_form.lib.php b/libraries/tbl_columns_definition_form.lib.php index 71b2a91ba1..fa943cd201 100644 --- a/libraries/tbl_columns_definition_form.lib.php +++ b/libraries/tbl_columns_definition_form.lib.php @@ -507,4 +507,43 @@ function PMA_handleRegeneration($submit_fulltext, $comments_map, $mime_map) $comments_map, $mime_map ); } + +/** + * Function to get row data for $fields_meta set + * + * @param array $row row + * @param bool $isDefault whether the row value is default + * + * @return array + */ +function PMA_getRowDataForFieldsMetaSet($row, $isDefault) +{ + switch ($row['Default']) { + case null: + if ($row['Null'] == 'YES') { + $row['DefaultType'] = 'NULL'; + $row['DefaultValue'] = ''; + // SHOW FULL COLUMNS does not report the case + // when there is a DEFAULT value which is empty so we need to use the + // results of SHOW CREATE TABLE + } elseif ($isDefault) { + $row['DefaultType'] = 'USER_DEFINED'; + $row['DefaultValue'] = $row['Default']; + } else { + $row['DefaultType'] = 'NONE'; + $row['DefaultValue'] = ''; + } + break; + case 'CURRENT_TIMESTAMP': + $row['DefaultType'] = 'CURRENT_TIMESTAMP'; + $row['DefaultValue'] = ''; + break; + default: + $row['DefaultType'] = 'USER_DEFINED'; + $row['DefaultValue'] = $row['Default']; + break; + } + + return $row; +} ?>