/**
 * Analyze the table column array
 *
 * @param array   $column         description of column in given table
 * @param array   $comments_map   comments for every column that has a comment
 * @param boolean $timestamp_seen whether a timestamp has been seen
 *
 * @return array                   description of column in given table
 */
function PMA_analyzeTableColumnsArray($column, $comments_map, $timestamp_seen)
{
    $column['Field_html'] = htmlspecialchars($column['Field']);
    $column['Field_md5'] = md5($column['Field']);
    // True_Type contains only the type (stops at first bracket)
    $column['True_Type'] = preg_replace('@\\(.*@s', '', $column['Type']);
    $column['len'] = preg_match('@float|double@', $column['Type']) ? 100 : -1;
    $column['Field_title'] = PMA_getColumnTitle($column, $comments_map);
    $column['is_binary'] = PMA_isColumn($column, array('binary', 'varbinary'));
    $column['is_blob'] = PMA_isColumn($column, array('blob', 'tinyblob', 'mediumblob', 'longblob'));
    $column['is_char'] = PMA_isColumn($column, array('char', 'varchar'));
    list($column['pma_type'], $column['wrap'], $column['first_timestamp']) = PMA_getEnumSetAndTimestampColumns($column, $timestamp_seen);
    return $column;
}
 /**
  * Test for PMA_getEnumSetAndTimestampColumns
  *
  * @return void
  */
 public function testGetEnumAndTimestampColumns()
 {
     $column = array();
     $column['True_Type'] = 'set';
     $this->assertEquals(array('set', '', false), PMA_getEnumSetAndTimestampColumns($column, false));
     $column['True_Type'] = 'enum';
     $this->assertEquals(array('enum', '', false), PMA_getEnumSetAndTimestampColumns($column, false));
     $column['True_Type'] = 'timestamp';
     $column['Type'] = 'date';
     $this->assertEquals(array('date', ' nowrap', true), PMA_getEnumSetAndTimestampColumns($column, false));
     $column['True_Type'] = 'timestamp';
     $column['Type'] = 'date';
     $this->assertEquals(array('date', ' nowrap', false), PMA_getEnumSetAndTimestampColumns($column, true));
     $column['True_Type'] = 'SET';
     $column['Type'] = 'num';
     $this->assertEquals(array('num', ' nowrap', false), PMA_getEnumSetAndTimestampColumns($column, false));
     $column['True_Type'] = '';
     $column['Type'] = 'num';
     $this->assertEquals(array('num', ' nowrap', false), PMA_getEnumSetAndTimestampColumns($column, false));
 }