public function getUniqueColumns($backquoted = true, $fullName = true)
{
$sql = $this->_dbi->getTableIndexesSql($this->getDbName(), $this->getName(), 'Non_unique = 0');
$uniques = $this->_dbi->fetchResult($sql, array('Key_name', null), 'Column_name');
$return = array();
foreach ($uniques as $index) {
if (count($index) > 1) {
continue;
}
if ($fullName) {
$possible_column = $this->getFullName($backquoted) . '.';
} else {
$possible_column = '';
}
if ($backquoted) {
$possible_column .= Util::backquote($index[0]);
} else {
$possible_column .= $index[0];
}
// a column might have a primary and an unique index on it
if (!in_array($possible_column, $return)) {
$return[] = $possible_column;
}
}
return $return;
}