Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Alzabo::Create::ColumnUser Contributed Perl DocumentaAlzabo::Create::Column(3)

NAME
       Alzabo::Create::Column -	Column objects for use in schema creation

SYNOPSIS
	 use Alzabo::Create::Column;

DESCRIPTION
       This object represents a	column.	 It holds data specific	to a column.
       Additional data is held in a "Alzabo::Create::ColumnDefinition" object,
       which is	used to	allow two columns to share a type (which is good when
       two columns in different	tables are related as it means that if the
       type of one is changed, the other is also.)

INHERITS FROM
       "Alzabo::Column"

       Note: all relevant documentation	from the superclass has	been merged
       into this document.

METHODS
   new
       The constructor accepts the following parameters:

       o   table => "Alzabo::Create::Table" object

       o   name	=> $name

       o   nullable => 0 or 1 (optional)

	   Defaults to false.

       o   sequenced =>	0 or 1 (optional)

	   Defaults to false.

       o   default => $default (optional)

       o   default_is_raw => $boolean (optional)

	   If "default_is_raw" is true,	then it	will not be quoted when	passed
	   to the DBMS in SQL statements. This should be used to allow a
	   default which is a function,	like "NOW()".

       o   attributes => \@attributes (optional)

       o   length => $length (optional)

       o   precision =>	$precision (optional)

	   One of either ...

       o   type	=> $type

	   ... or ...

       o   definition => "Alzabo::Create::ColumnDefinition" object

       o   comment => $comment

	   An optional comment.

       It returns a new	"Alzabo::Create::Column" object.

       Throws: "Alzabo::Exception::Params"

   type
       Returns the column's type as a string.

   alter
       This method allows you to change	a column's type, length, and precision
       as a single operation.  It should be instead of calling "set_type()"
       followed	by "set_length()".

       It takes	the following parameters:

       o   type	=> $type

       o   length => $length (optional)

       o   precision =>	$precision (optional)

       Throws: "Alzabo::Exception::Params", "Alzabo::Exception::RDBMSRules"

   set_type ($type)
       Sets the	column's type.

       Throws: "Alzabo::Exception::Params", "Alzabo::Exception::RDBMSRules"

   set_table ("Alzabo::Create::Table" object)
       Sets the	"Alzabo::Create::Table"	object in which	this column is
       located.

       Throws: "Alzabo::Exception::Params"

   name
       Returns the column's name as a string.

   set_name ($name)
       Sets the	column's name (a string).

       Throws: "Alzabo::Exception::Params", "Alzabo::Exception::RDBMSRules"

   nullable
       Returns a boolean value indicating whether or not NULLs are allowed in
       this column.

   set_nullable	(0 or 1)
       Sets the	nullability of the column (this	determines whether nulls are
       allowed in the column or	not).  Must be 0 or 1.

       Throws: "Alzabo::Exception::Params"

   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:

       o   attribute =>	$attribute

       o   case_sensitive => 0 or 1 (defaults to 0)

       It returns a boolean value indicating whether or	not the	column has
       this particular attribute.

   set_attributes (@attributes)
       Sets the	column's attributes.  These are	strings	describing the column
       (for example, valid attributes in MySQL are "PRIMARY KEY" or
       "AUTO_INCREMENT").

       Throws: "Alzabo::Exception::RDBMSRules"

   add_attribute ($attribute)
       Add an attribute	to the column's	list of	attributes.

       Throws: "Alzabo::Exception::RDBMSRules"

   delete_attribute ($attribute)
       Delete the given	attribute from the column's list of attributes.

       Throws: Throws: "Alzabo::Exception::Params",
       "Alzabo::Exception::RDBMSRules"

   default
       Returns the default value of the	column as a string, or undef if	there
       is no default.

   set_default ($default)
       Sets the	column's default value.

   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.

   set_length
       This method takes the following parameters:

       o   length => $length

       o   precision =>	$precision (optional)

       This method sets	the column's length and	precision.  The	precision
       parameter is optional (though some column types may require it if the
       length is set).

       Throws: "Alzabo::Exception::RDBMSRules"

   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.

   set_sequenced (0 or 1)
       Sets the	value of the column's sequenced	attribute.

       Throws: "Alzabo::Exception::Params", "Alzabo::Exception::RDBMSRules"

   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_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_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.

   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::Create::ColumnDefinition" object
       which holds this	column's type information.

   set_definition ("Alzabo::Create::ColumnDefinition" object)
       Sets the	"Alzabo::Create::ColumnDefinition" object which	holds this
       column's	type information.

   former_name
       If the column's name has	been changed since the last time the schema
       was instantiated, this method returns the column's previous name.

   comment
       Returns the comment associated with the column object, if any.

   set_comment ($comment)
       Set the comment for the column object.

perl v5.24.1			  2017-07-02	     Alzabo::Create::Column(3)

NAME | SYNOPSIS | DESCRIPTION | INHERITS FROM | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Alzabo::Create::Column&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help