From 98458f737d52de0a0e8d24b02713b849f434eb67 Mon Sep 17 00:00:00 2001 From: Takashi SHIRAI Date: Tue, 26 Mar 2019 13:50:52 +0900 Subject: [PATCH] Avoid errors when alter table column Signed-off-by: Takashi SHIRAI --- adminer/drivers/oracle.inc.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index 45e0e539..1bd1a1e9 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -342,11 +342,19 @@ ORDER BY ac.constraint_type, aic.column_position", $connection2) as $row) { function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) { $alter = $drop = array(); + $orig_fields = ($table ? fields($table) : array()); foreach ($fields as $field) { $val = $field[1]; if ($val && $field[0] != "" && idf_escape($field[0]) != $val[0]) { queries("ALTER TABLE " . table($table) . " RENAME COLUMN " . idf_escape($field[0]) . " TO $val[0]"); } + $orig_field = $orig_fields[$field[0]]; + if ($val && $orig_field) { + $old = process_field($orig_field, $orig_field); + if ($val[2] == $old[2]) { + $val[2] = ""; + } + } if ($val) { $alter[] = ($table != "" ? ($field[0] != "" ? "MODIFY (" : "ADD (") : " ") . implode($val) . ($table != "" ? ")" : ""); //! error with name change only } else {