NAME

Alzabo::Runtime::ForeignKey - Foreign key objects

SYNOPSIS

$fk->register_insert( $value_for_column );
$fk->register_update( $new_value_for_column );
$fk->register_delete( $row_being_deleted );

DESCRIPTION

Objects in this class maintain referential integrity. This is really only useful when your RDBMS can't do this itself (like MySQL without InnoDB).

INHERITS FROM

Alzabo::ForeignKey

METHODS

register_insert ($new_value)

This method takes the proposed column value for a new row and makes sure that it is valid based on relationship that this object represents.

Throws: Alzabo::Exception::ReferentialIntegrity

register_update ($new_value)

This method takes the proposed new value for a column and makes sure that it is valid based on relationship that this object represents.

Throws: Alzabo::Exception::ReferentialIntegrity

register_delete (Alzabo::Runtime::Row object)

Allows the foreign key to delete rows dependent on the row being deleted. Note, this can lead to a chain reaction of cascading deletions. You have been warned.

Throws: Alzabo::Exception::ReferentialIntegrity

AUTHOR

Dave Rolsky, <autarch@urth.org>