Small change in rename_field() so objects won't become modified at all
in the process.
This commit is contained in:
@@ -229,10 +229,12 @@ class XMLDBmssql extends XMLDBgenerator {
|
||||
if ($xmldb_field->getEnum()) {
|
||||
/// Drop the current enum (not needed, it has been dropped before for msqql (in getRenameFieldSQL)
|
||||
//$results = array_merge($results, $this->getDropEnumSQL($xmldb_table, $xmldb_field));
|
||||
/// Change field name
|
||||
$xmldb_field->setName($newname);
|
||||
/// Change field name (over a clone to avoid some potential problems later)
|
||||
$new_xmldb_field = clone($xmldb_field);
|
||||
$new_xmldb_field->setName($newname);
|
||||
|
||||
/// Recreate the enum
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $xmldb_field));
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $new_xmldb_field));
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
@@ -214,10 +214,11 @@ class XMLDBoci8po extends XMLDBgenerator {
|
||||
if ($xmldb_field->getEnum()) {
|
||||
/// Drop the current enum
|
||||
$results = array_merge($results, $this->getDropEnumSQL($xmldb_table, $xmldb_field));
|
||||
/// Change field name
|
||||
$xmldb_field->setName($newname);
|
||||
/// Change field name (over a clone to avoid some potential problems later)
|
||||
$new_xmldb_field = clone($xmldb_field);
|
||||
$new_xmldb_field->setName($newname);
|
||||
/// Recreate the enum
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $xmldb_field));
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $new_xmldb_field));
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
@@ -370,10 +370,11 @@ class XMLDBpostgres7 extends XMLDBgenerator {
|
||||
if ($xmldb_field->getEnum()) {
|
||||
/// Drop the current enum
|
||||
$results = array_merge($results, $this->getDropEnumSQL($xmldb_table, $xmldb_field));
|
||||
/// Change field name
|
||||
$xmldb_field->setName($newname);
|
||||
/// Change field name (over a clone to avoid some potential problems later)
|
||||
$new_xmldb_field = clone($xmldb_field);
|
||||
$new_xmldb_field->setName($newname);
|
||||
/// Recreate the enum
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $xmldb_field));
|
||||
$results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $new_xmldb_field));
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
Reference in New Issue
Block a user