Jifty::DBI::Column(3) Encapsulates a single column in a Jifty::DBI::Record table

DESCRIPTION

This class encapsulates a single column in a Jifty::DBI::Record table description. It replaces the _accessible method in Jifty::DBI::Record.

It has the following accessors: "name type default validator boolean refers_to readable writable length".

new

is_numeric

Returns true if the column is of some numeric type, otherwise returns false.

is_string

Returns true if this column is a text field

is_boolean

Returns true if this column is a boolean

serialize_metadata

Returns a hash describing this column object with enough detail to fully describe it in the database. Intentionally skips "record_class", all column attributes starting with "_", and all column attributes which are undefined. The ``known'' attributes in the "attributes" hash are flattened and returned as well. The list of known attributes are:
container
label hints render_as
display_length
valid_values
available_values
autocompleted
documentation
no_placeholder
Setting this to a true value causes ``load_by_cols'' in Jifty::DBI::record to not use a placeholder when loading the column. This can allow the database to come up with better query plans in some cases.

serialize_metadata2

Returns a hash describing this column object with enough detail to fully describe it in the database. Intentionally skips "record_class", all column attributes starting with "_", and all column attributes which are undefined.

validator

Gets/sets the validator coderef for the column.

read

DEPRECATED. Use "$column->readable" instead.

write

DEPRECATED. Use "$column->writable" instead.

length

DEPRECATED. Use "$column->max_length" instead.

until

DEPRECATED. Use "$column->till" instead.

active

Returns the a true value if the column method exists for the current application version. The current application version is determined by checking the ``schema_version'' in Jifty::DBI::Record of the column's ``record_class''. This method returns a false value if the column is not yet been added or has been dropped.

This method returns a false value under these circumstances:

  • Both the "since" trait and "schema_version" method are defined and "schema_version" is less than the version set on "since".
  • Both the "till" trait and "schema_version" method are defined and "schema_version" is greater than or equal to the version set on "till".

Otherwise, this method returns true.