NAME¶
Alzabo::Column - Column objects
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.
Returns the comment associated with the column object, if any.
AUTHOR¶
Dave Rolsky, <autarch@urth.org>