Change slighty the style of RenameKey and RenameIndex functions.

This commit is contained in:
stronk7
2006-09-30 22:59:10 +00:00
parent a59f3a34f3
commit 4702d62e32
3 changed files with 12 additions and 18 deletions
+2 -8
View File
@@ -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
}
+4 -4
View File
@@ -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) {