Change slighty the style of RenameKey and RenameIndex functions.
This commit is contained in:
+2
-8
@@ -923,10 +923,7 @@ function rename_key($table, $key, $newname, $continue=true, $feedback=true) {
|
||||
return true; //Key doesn't exist, nothing to do
|
||||
}
|
||||
|
||||
/// Assign the new name to the index
|
||||
$key->setName($newname);
|
||||
|
||||
if(!$sqlarr = $table->getRenameKeySQL($CFG->dbtype, $CFG->prefix, $key, false)) {
|
||||
if(!$sqlarr = $table->getRenameKeySQL($CFG->dbtype, $CFG->prefix, $key, $newname, false)) {
|
||||
debugging('Some DBs do not support key renaming (MySQL, PostgreSQL, MsSQL). Rename skipped', DEBUG_DEVELOPER);
|
||||
return true; //Empty array = nothing to do = no error
|
||||
}
|
||||
@@ -1048,10 +1045,7 @@ function rename_index($table, $index, $newname, $continue=true, $feedback=true)
|
||||
return true; //Index doesn't exist, nothing to do
|
||||
}
|
||||
|
||||
/// Assign the new name to the index
|
||||
$index->setName($newname);
|
||||
|
||||
if(!$sqlarr = $table->getRenameIndexSQL($CFG->dbtype, $CFG->prefix, $index, false)) {
|
||||
if(!$sqlarr = $table->getRenameIndexSQL($CFG->dbtype, $CFG->prefix, $index, $newname, false)) {
|
||||
debugging('Some DBs do not support index renaming (MySQL). Rename skipped', DEBUG_DEVELOPER);
|
||||
return true; //Empty array = nothing to do = no error
|
||||
}
|
||||
|
||||
@@ -967,14 +967,14 @@ class XMLDBTable extends XMLDBObject {
|
||||
* This function will return the SQL code needed to rename one key from the table for the specified DB and
|
||||
* prefix. Just one simple wrapper over generators.
|
||||
*/
|
||||
function getRenameKeySQL ($dbtype, $prefix, $xmldb_key, $statement_end=true) {
|
||||
function getRenameKeySQL ($dbtype, $prefix, $xmldb_key, $newname, $statement_end=true) {
|
||||
|
||||
$results = array();
|
||||
|
||||
$classname = 'XMLDB' . $dbtype;
|
||||
$generator = new $classname();
|
||||
$generator->setPrefix($prefix);
|
||||
$results = $generator->getRenameKeySQL($this, $xmldb_key);
|
||||
$results = $generator->getRenameKeySQL($this, $xmldb_key, $newname);
|
||||
if ($statement_end) {
|
||||
$results = $generator->getEndedStatements($results);
|
||||
}
|
||||
@@ -1022,14 +1022,14 @@ class XMLDBTable extends XMLDBObject {
|
||||
* prefix. Just one simple wrapper over generators.
|
||||
* Experimental. Shouldn't be used at all!
|
||||
*/
|
||||
function getRenameIndexSQL ($dbtype, $prefix, $xmldb_index, $statement_end=true) {
|
||||
function getRenameIndexSQL ($dbtype, $prefix, $xmldb_index, $newname, $statement_end=true) {
|
||||
|
||||
$results = array();
|
||||
|
||||
$classname = 'XMLDB' . $dbtype;
|
||||
$generator = new $classname();
|
||||
$generator->setPrefix($prefix);
|
||||
$results = $generator->getRenameIndexSQL($this, $xmldb_index);
|
||||
$results = $generator->getRenameIndexSQL($this, $xmldb_index, $newname);
|
||||
if ($statement_end) {
|
||||
$results = $generator->getEndedStatements($results);
|
||||
}
|
||||
|
||||
@@ -479,7 +479,7 @@ class XMLDBgenerator {
|
||||
|
||||
/// TODO, call to getRenameTableExtraSQL() if $rename_table_extra_code is enabled. It will add sequence regeneration code.
|
||||
if ($this->rename_table_extra_code) {
|
||||
$extra_sentences = $this->getRenameTableExtraSQL();
|
||||
$extra_sentences = $this->getRenameTableExtraSQL($xmldb_table, $newname);
|
||||
$results = array_merge($results, $extra_sentences);
|
||||
}
|
||||
|
||||
@@ -744,7 +744,7 @@ class XMLDBgenerator {
|
||||
* Experimental! Shouldn't be used at all!
|
||||
*/
|
||||
|
||||
function getRenameKeySQL($xmldb_table, $xmldb_key) {
|
||||
function getRenameKeySQL($xmldb_table, $xmldb_key, $newname) {
|
||||
|
||||
$results = array();
|
||||
|
||||
@@ -759,14 +759,14 @@ class XMLDBgenerator {
|
||||
/// We aren't generating this type of keys, delegate to child indexes
|
||||
$xmldb_index = new XMLDBIndex($xmldb_key->getName());
|
||||
$xmldb_index->setFields($xmldb_key->getFields());
|
||||
return $this->getRenameIndexSQL($xmldb_table, $xmldb_index);
|
||||
return $this->getRenameIndexSQL($xmldb_table, $xmldb_index, $newname);
|
||||
}
|
||||
|
||||
/// Arrived here so we are working with keys, lets rename them
|
||||
/// Replace TABLENAME and KEYNAME as needed
|
||||
$renamesql = str_replace('TABLENAME', $this->getTableName($xmldb_table), $this->rename_key_sql);
|
||||
$renamesql = str_replace('OLDKEYNAME', $dbkeyname, $renamesql);
|
||||
$renamesql = str_replace('NEWKEYNAME', $xmldb_key->getName(), $renamesql);
|
||||
$renamesql = str_replace('NEWKEYNAME', $newname, $renamesql);
|
||||
|
||||
/// Some DB doesn't support key renaming so this can be empty
|
||||
if ($renamesql) {
|
||||
@@ -809,7 +809,7 @@ class XMLDBgenerator {
|
||||
* Experimental! Shouldn't be used at all!
|
||||
*/
|
||||
|
||||
function getRenameIndexSQL($xmldb_table, $xmldb_index) {
|
||||
function getRenameIndexSQL($xmldb_table, $xmldb_index, $newname) {
|
||||
|
||||
$results = array();
|
||||
|
||||
@@ -819,7 +819,7 @@ class XMLDBgenerator {
|
||||
/// Replace TABLENAME and INDEXNAME as needed
|
||||
$renamesql = str_replace('TABLENAME', $this->getTableName($xmldb_table), $this->rename_index_sql);
|
||||
$renamesql = str_replace('OLDINDEXNAME', $dbindexname, $renamesql);
|
||||
$renamesql = str_replace('NEWINDEXNAME', $xmldb_index->getName(), $renamesql);
|
||||
$renamesql = str_replace('NEWINDEXNAME', $newname, $renamesql);
|
||||
|
||||
/// Some DB doesn't support index renaming (MySQL) so this can be empty
|
||||
if ($renamesql) {
|
||||
|
||||
Reference in New Issue
Block a user