NAME Class::DBI::Storable - Mixin Storable hooks to freeze and thaw objects VERSION Version 0.01 SYNOPSIS package My::Class; use base 'Class::DBI'; use Class::DBI::Storable; # or use base qw(Class::DBI Class::DBI::Storable); package main; use Storable qw(freeze thaw dclone); my $obj = My::Class->retrieve($id); dclone($obj); # Produces a warning DESCRIPTION Class::DBI attempts to maintain the the uniqueness of objects in memory. Serializers such as Storable will generally violate this constraint when an object is frozen and thawed. This mixin module makes your Class::DBI objects serializable with Storable. Only the primary keys are serialized and the objects is thawed using "retrieve" on the appropriate CDBI class. The Storable hooks carp if there are unsaved changes to the object being frozen or if you attempt to dclone a object. Using dclone on a CDBI object doesn't really make sense. STORABLE_freeze and STORABLE_attach the only methods. They will be called automatically by Storable. Are You Sure This Is A Good Idea? No. This module exists to try to make Class::DBI and Storable work together acceptably. It's existence is not to be construed as a recommendation of the practice. DIAGNOSTICS Storable::dclone($cdbi_object) will emit: "Warning, cloning a Class::DBI object of class " This is to help catch inadvertent uses of dclone and to discourage it's use. (The warning can be suppressed with the $CloneCarp package variable) If Storable::freeze is called of an object with unsaved changes then: "Warning, freezing discards unsaved changes" (Suppress with the package variable $FreezeCarp) DEPENDENCIES Storable 2.14 or newer BUGS AND LIMITATIONS There are no known bugs in this module. Please report problems to the author directly or via RT SEE ALSO Class::DBI in particular "Uniqueness of Objects in Memory", Storable AUTHOR Brad Bowman LICENCE AND COPYRIGHT Copyright (c) 2005 Brad Bowman . All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.