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


Alzabo documentation  | view source Contained in the Alzabo distribution.

Index


NAME

Top

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

SYNOPSIS

Top

  use Alzabo::Create::Index;

INHERITS FROM

Top

Alzabo::Index

METHODS

Top

new

The constructor takes the following parameters:

* table => Alzabo::Create::Table object

The table that this index is indexing.

* columns => [ Alzabo::Create::Column object, .. ]
* 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.

* unique => $boolean

Indicates whether or not this is a unique index.

* fulltext => $boolean

Indicates whether or not this is a fulltext index.

* 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::Exceptions, Alzabo::Exception::RDBMSRules|Alzabo::Exceptions

add_column

Adds a column to the index.

This method takes the following parameters:

* column => Alzabo::Create::Column object
* prefix => $prefix (optional)

Throws: Alzabo::Exception::Params|Alzabo::Exceptions, Alzabo::Exception::RDBMSRules|Alzabo::Exceptions

delete_column (Alzabo::Create::Column object)

Deletes the given column from the index.

Throws: Alzabo::Exception::Params|Alzabo::Exceptions, Alzabo::Exception::RDBMSRules|Alzabo::Exceptions

set_prefix

This method takes the following parameters:

* column => Alzabo::Create::Column object
* prefix => $prefix

Throws: Alzabo::Exception::Params|Alzabo::Exceptions, Alzabo::Exception::RDBMSRules|Alzabo::Exceptions

set_unique ($boolean)

Sets whether or not the index is a unique index.

set_fulltext ($boolean)

Set whether or not the index is a fulltext index.

Throws: Alzabo::Exception::Params|Alzabo::Exceptions, Alzabo::Exception::RDBMSRules|Alzabo::Exceptions

register_column_name_change

This method takes the following parameters:

* column => Alzabo::Create::Column object

The column (with the new name already set).

* 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|Alzabo::Exceptions

AUTHOR

Top

Dave Rolsky, <autarch@urth.org>


Alzabo documentation  | view source Contained in the Alzabo distribution.