protected function _buildColumn($field)
{
extract($field);
if ($type === 'float' && $precision) {
$use = 'numeric';
}
if ($precision) {
$precision = $use === 'numeric' ? ",{$precision}" : '';
}
$out = $this->name($name);
if (isset($increment) && $increment) {
$out .= ' serial NOT NULL';
} else {
$out .= ' ' . $use;
if ($length && preg_match('/char|numeric|interval|bit|time/', $use)) {
$out .= "({$length}{$precision})";
}
$out .= is_bool($null) ? $null ? ' NULL' : ' NOT NULL' : '';
$out .= $default ? ' DEFAULT ' . $this->value($default, $field) : '';
}
return $out;
}