public function Index(QueryBuilder $QueryBuilder, Table $Table, Mysql\Tables\Index $Trait)
{
$QueryBuilder->AppendIdentifier($this->MapIndexType($Trait->GetType()) . ' INDEX # ', [$Trait->GetName()]);
$QueryBuilder->Append('(');
$First = true;
foreach ($Trait->GetColumns() as $Column) {
if ($First) {
$First = false;
} else {
$QueryBuilder->Append(',');
}
$ColumnName = $Column->GetName();
$QueryBuilder->AppendIdentifier('#', [$ColumnName]);
$QueryBuilder->Append(' ' . $this->MapIndexDirection($Trait->GetColumnDirection($QueryBuilder)));
}
$QueryBuilder->Append(')');
$StorageType = $Trait->GetStorageType();
if ($StorageType !== null) {
$QueryBuilder->Append('USING' . $this->MapIndexStorageType($Trait->GetStorageType()));
}
}