SYNOPSIS
use Alzabo::Column;
foreach my $c ($table->columns)
{
print $c->name;
}
DESCRIPTION
This object represents a column. It holds data specific to a column.METHODS
table
Returns the table object to which this column belongs.name
Returns the column's name as a string.nullable
Returns a boolean value indicating whether or not NULLs are allowed in this column.attributes
A column's attributes are strings describing the column (for example, valid attributes in MySQL are 'UNSIGNED' or 'ZEROFILL'.This method returns a list of strings of such strings.
has_attribute
This method can be used to test whether or not a column has a particular attribute. By default, the check is case-insensitive.It takes the following parameters:
- attribute => $attribute
- case_sensitive => 0 or 1 (defaults to 0)
It returns a boolean value indicating whether or not the column has this particular attribute.
type
Returns the column's type as a string.sequenced
The meaning of a sequenced column varies from one RDBMS to another. In those with sequences, it means that a sequence is created and that values for this column will be drawn from it for inserts into this table. In databases without sequences, the nearest analog for a sequence is used (in MySQL the column is given the AUTO_INCREMENT attribute, in Sybase the identity attribute).In general, this only has meaning for the primary key column of a table with a single column primary key. Setting the column as sequenced means its value never has to be provided to when calling "Alzabo::Runtime::Table->insert".
Returns a boolean value indicating whether or not this column is sequenced.
default
Returns the default value of the column as a string, or undef if there is no default.default_is_raw
Returns true if the default is intended to be provided to the DBMS as-is, without quoting, fore example "NOW()" or "current_timestamp".length
Returns the length attribute of the column, or undef if there is none.precision
Returns the precision attribute of the column, or undef if there is none.is_primary_key
Returns a boolean value indicating whether or not this column is part of its table's primary key.is_numeric
Returns a boolean value indicating whether the column is a numeric type column.is_integer
Returns a boolean value indicating whether the column is a numeric type column.is_floating_point
Returns a boolean value indicating whether the column is a numeric type column.is_character
Returns a boolean value indicating whether the column is a character type column.This is true only for any columns which are defined to hold text data, regardless of size.
is_date
Returns a boolean value indicating whether the column is a date type column.is_datetime
Returns a boolean value indicating whether the column is a datetime type column.is_time
Returns a boolean value indicating whether the column is a time type column.is_time_interval
Returns a boolean value indicating whether the column is a time interval type column.is_blob
Returns a boolean value indicating whether the column is a blob column.This is true for any columns defined to hold binary data, regardless of size.
generic_type
This methods returns one of the following strings:- integer
- floating_point
- character
- date
- datetime
- time
- blob
- unknown
definition
The definition object is very rarely of interest. Use the "type()" method if you are only interested in the column's type.This methods returns the "Alzabo::ColumnDefinition" object which holds this column's type information.