* Tracker: dropping unique index(es) on escalations to not limit creating same escalations eg. on different queues

Was previously done by modifying index to contain more columns in update, but not new installations.
Now droping all existing unique indexes completly.
This commit is contained in:
Ralf Becker 2014-01-14 11:06:31 +00:00
parent 29992a7fee
commit 3bef4b2a26

View File

@ -1318,10 +1318,25 @@ class schema_proc
}
if ($this->debug > 1) $this->debug_message("schema_proc::GetTableDefintion: MetaPrimaryKeys(%1) = %2",False,$sTableName,$primary);
$this->GetIndexes($sTableName, $definition);
if ($this->debug > 1) $this->debug_message("schema_proc::GetTableDefintion(%1) = %2",False,$sTableName,$definition);
return $definition;
}
/**
* Query indexes (not primary index) from database
*
* @param string $sTableName
* @param array& $definition=array()
* @return array of arrays with keys 'ix' and 'uc'
*/
public function GetIndexes($sTableName, array &$definition=array())
{
if (method_exists($this->dict,'MetaIndexes') &&
is_array($indexes = $this->dict->MetaIndexes($sTableName)) && count($indexes))
{
foreach($indexes as $index)
foreach($indexes as $index_name => $index)
{
if($this->capabilities['name_case'] == 'upper')
{
@ -1334,12 +1349,10 @@ class schema_proc
}
$kind = $index['unique'] ? 'uc' : 'ix';
$definition[$kind][] = count($index['columns']) > 1 ? $index['columns'] : $index['columns'][0];
$definition[$kind][$index_name] = count($index['columns']) > 1 ? $index['columns'] : $index['columns'][0];
}
if ($this->debug > 2) $this->debug_message("schema_proc::GetTableDefintion: MetaIndexes(%1) = %2",False,$sTableName,$indexes);
}
if ($this->debug > 2) $this->debug_message("schema_proc::GetTableDefintion: MetaIndexes(%1) = %2",False,$sTableName,$indexes);
if ($this->debug > 1) $this->debug_message("schema_proc::GetTableDefintion(%1) = %2",False,$sTableName,$definition);
return $definition;
}