コード例 #1
0
 /**
  * Returns all indexes of the table
  *
  * @param  string  $tableName  Name of table
  * @return array               Array of SHOW INDEX FROM ... in SQL
  */
 protected function getAllTableIndexes($tableName)
 {
     $sortedIndex = array();
     $idx = $this->_db->getTableIndex($tableName);
     if (is_array($idx)) {
         foreach ($idx as $n) {
             $sortedIndex[$n->Key_name][$n->Seq_in_index] = array('name' => $n->Column_name, 'size' => $n->Sub_part, 'ordering' => $n->Collation, 'type' => $n->Key_name == 'PRIMARY' ? 'primary' : ($n->Non_unique == 0 ? 'unique' : ''), 'using' => array_key_exists('Index_type', $n) ? strtolower($n->Index_type) : ($n->Comment == 'FULLTEXT' ? 'fulltext' : ''));
         }
     }
     return $sortedIndex;
 }