The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SimpleDB::Class::Domain - A schematic representation of a SimpleDB domain.

VERSION

version 1.0100

DESCRIPTION

A subclass of this class is created for each domain in SimpleDB with it's name, attributes, and relationships.

METHODS

The following methods are available from this class.

new ( params )

Constructor. Normally you should never call this method yourself, instead use the domain() method in SimpleDB::Class.

params

A hash containing the parameters needed to construct this object.

simpledb

Required. A reference to a SimpleDB::Class object.

name

Required. The SimpleDB domain name associated with this class.

item_class ( )

Returns the SimpleDB::Class::Item subclass name passed into the constructor.

name ( )

Returns the name determined automatically by the item_class passed into the constructor.

simpledb ( )

Returns the SimpleDB::Class object set in the constructor.

create ( )

Creates this domain in the SimpleDB.

delete ( )

Deletes this domain from the SimpleDB.

find ( id, [ options ] )

Retrieves an item from the SimpleDB by ID and then returns a SimpleDB::Class::Item object.

id

The unique identifier (called ItemName in AWS documentation) of the item to retrieve.

options

A hash which allows options to modify the retrieval.

consistent

A boolean that if set true will get around Eventual Consistency, but at a reduced performance. Note that since SimpleDB::Class fetches requests by id (like this one) directly from memcached, this option should never be needed. It is provided only for completeness.

insert ( attributes, [ options ] )

Adds a new item to this domain.

attributes

A hash reference of name value pairs to insert as attributes into this item.

options

A hash of extra options to modify the put.

id

Optionally specify a unqiue id for this item.

count ( [ options ] )

Returns an integer indicating how many items are in this domain.

WARNING: With this method you need to be aware that SimpleDB is eventually consistent. See "Eventual Consistency" in SimpleDB::Class for details.

options

A hash containing options to modify the count.

where

A where clause as defined in SimpleDB::Class::SQL if you want to count only a certain number of items in the domain.

consistent

A boolean that if set true will get around Eventual Consistency, but at a reduced performance.

max ( attribute, [ options ] )

Returns the maximum value of an attribute.

WARNING: With this method you need to be aware that SimpleDB is eventually consistent. See "Eventual Consistency" in SimpleDB::Class for details.

attribute

The name of the attribute to find the maximum value of.

options

A hash of options to modify the search.

where

A where clause as defined by SimpleDB::Class::SQL. An optional clause to limit the range of the maximum value.

consistent

A boolean that if set true will get around Eventual Consistency, but at a reduced performance.

min ( attribute, [ options ] )

Returns the minimum value of an attribute.

WARNING: With this method you need to be aware that SimpleDB is eventually consistent. See "Eventual Consistency" in SimpleDB::Class for details.

attribute

The name of the attribute to find the minimum value of.

options

A hash of extra options to modify the search.

where

A where clause as defined by SimpleDB::Class::SQL. An optional clause to limit the range of the minimum value.

consistent

A boolean that if set true will get around Eventual Consistency, but at a reduced performance.

search ( options )

Returns a SimpleDB::Class::ResultSet object.

WARNING: With this method you need to be aware that SimpleDB is eventually consistent. See "Eventual Consistency" in SimpleDB::Class for details.

options

A hash of options to set up the search.

where

A where clause as defined by SimpleDB::Class::SQL.

order_by

An order by clause as defined by SimpleDB::Class::SQL.

limit

A limit clause as defined by SimpleDB::Class::SQL.

consistent

A boolean that if set true will get around Eventual Consistency, but at a reduced performance.

LEGAL

SimpleDB::Class is Copyright 2009-2010 Plain Black Corporation (http://www.plainblack.com/) and is licensed under the same terms as Perl itself.