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

FreeBSD Manual Pages

  
 
  

home | help
Alzabo::Create::Index(User Contributed Perl DocumentatAlzabo::Create::Index(3)

NAME
       Alzabo::Create::Index - Index objects for schema	creation

SYNOPSIS
	 use Alzabo::Create::Index;

DESCRIPTION
       This object represents an index on a table.  Indexes consist of columns
       and optional prefixes for each column.  The prefix specifies how	many
       characters of the columns should	be indexes (the	first X	chars).	 Some
       RDBMS's do not have a concept of	index prefixes.	 Not all column	types
       are likely to allow prefixes though this	depends	on the RDBMS.  The
       order of	the columns is significant.

INHERITS FROM
       "Alzabo::Index"

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

METHODS
   new
       The constructor takes the following parameters:

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

	   The table that this index is	indexing.

       o   columns => [	"Alzabo::Create::Column" object, .. ]

       o   columns => [	{ column => "Alzabo::Create::Column" object,
				  prefix => $prefix },
				 repeat	as needed ...
			      ]

	   This	parameter indicates which columns that are being indexed.  It
	   can either be an array reference of column objects, or an array
	   reference of	hash references, each with a key called	column and one
	   called prefix.

	   The prefix key is optional.

       o   unique => $boolean

	   Indicates whether or	not this is a unique index.

       o   fulltext => $boolean

	   Indicates whether or	not this is a fulltext index.

       o   function => $string

	   This	can be used to create a	function index where supported.	The
	   value of this parameter should be the full function,	with column
	   names, such as "LCASE( username )".

	   The "columns" parameter should include all the columns used in the
	   function.

       Returns a new "Alzabo::Create::Index" object.

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

   table
       Returns the "Alzabo::Create::Table" object to which the index belongs.

   columns
       Returns an ordered list of the "Alzabo::Create::Column" objects that
       are being indexed.

   add_column
       Adds a column to	the index.

       This method takes the following parameters:

       o   column => "Alzabo::Create::Column" object

       o   prefix => $prefix (optional)

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

   delete_column ("Alzabo::Create::Column" object)
       Deletes the given column	from the index.

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

   prefix ("Alzabo::Create::Column" object)
       A column	prefix is, to the best of my knowledge,	a MySQL	specific
       concept,	and as such cannot be set when using an	RDBMSRules module for
       a different RDBMS.  However, it is important enough for MySQL to	have
       the functionality be present.  It allows	you to specify that the	index
       should only look	at a certain portion of	a field	(the first N
       characters).  This prefix is required to	index any sort of BLOB column
       in MySQL.

       This method returns the prefix for the column in	the index.  If there
       is no prefix for	this column in the index, then it returns undef.

   set_prefix
       This method takes the following parameters:

       o   column => "Alzabo::Create::Column" object

       o   prefix => $prefix

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

   unique
       Returns a boolean value indicating whether the index is a unique	index.

   set_unique ($boolean)
       Sets whether or not the index is	a unique index.

   fulltext
       Returns a boolean value indicating whether the index is a fulltext
       index.

   set_fulltext	($boolean)
       Set whether or not the index is a fulltext index.

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

   register_column_name_change
       This method takes the following parameters:

       o   column => "Alzabo::Create::Column" object

	   The column (with the	new name already set).

       o   old_name => $old_name

       This method is called by	the table object which owns the	index when a
       column name changes.  You should	never need to call this	yourself.

       Throws: "Alzabo::Exception::Params"

   id
       The id is generated from	the table, column and prefix information for
       the index.  This	is useful as a canonical name for a hash key, for
       example.

       Returns a string	that is	the id which uniquely identifies the index in
       this schema.

AUTHOR
       Dave Rolsky, <autarch@urth.org>

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

NAME | SYNOPSIS | DESCRIPTION | INHERITS FROM | METHODS | AUTHOR

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

home | help