NAME

Alzabo::Schema - Schema objects

SYNOPSIS

use base qw(Alzabo::Schema);

DESCRIPTION

This is the base class for schema objects..

METHODS

name

Returns a string containing the name of the schema.

table ($name)

Returns an Alzabo::Table object representing the specified table.

An Alzabo::Exception::Params exception is throws if the schema does not contain the table.

tables (@optional_list)

If no arguments are given, this method returns a list of all Alzabo::Table objects in the schema, or in a scalar context the number of such tables. If one or more arguments are given, returns a list of table objects with those names, in the same order given (or the number of such tables in a scalar context, but this isn't terribly useful).

An Alzabo::Exception::Params exception is throws if the schema does not contain one or more of the specified tables.

has_table ($name)

Returns a boolean value indicating whether the table exists in the schema.

begin_work

Starts a transaction. Calls to this function may be nested and it will be handled properly.

rollback

Rollback a transaction.

commit

Finishes a transaction with a commit. If you make multiple calls to begin_work(), make sure to call this method the same number of times.

run_in_transaction ( sub { code... } )

This method takes a subroutine reference and wraps it in a transaction.

It will preserve the context of the caller and returns whatever the wrapped code would have returned.

driver

Returns the Alzabo::Driver object for the schema.

rules

Returns the Alzabo::RDBMSRules object for the schema.

sqlmaker

Returns the Alzabo::SQLMaker object for the schema.

AUTHOR

Dave Rolsky, <autarch@urth.org>