NAME DBIx::Class::CompressColumns - Automatic Compression/Decompression of columns SYNOPSIS In your DBIx::Class table class: __PACKAGE__->load_components(qw/CompressColumns ... Core/); __PACKAGE__->compresscolumns( columns => [qw/ column_foo /], auto => 1, ); Note: The component needs to be loaded *before* Core. Alternatively you could call each method individually __PACKAGE__->compress_columns(qw/ column_foo /); __PACKAGE__->compress_auto(1); DESCRIPTION This DBIx::Class component can be used to automatically compress and decompress data in selected columns. METHODS compresscolumns __PACKAGE__->compresscolumns( columns => [qw/ column_foo /], auto => 1, ); Calls "compress_columns" and "digest_auto" if the corresponding argument is defined. compress_columns Takes a list of columns to be compressed/decompressed during insert or retrieval. __PACKAGE__->compress_columns(qw/ column_foo /); _get_compressed_binary $value Handles the actual compression of column values into binary objects. When given a $value it will return the compressed binary for that value. _get_uncompressed_scalar $value Handles the actual decompression of column values into scalar strings. When given a $value it will return the uncompressed scalar for that compressed binary value. _compress_column_values Go through the columns and compress the values that need it. This method is called by insert and update when automatic compression is turned on. compress_auto __PACKAGE__->compress_auto(1); Turns on and off automatic compression/decompression of columns. When on, this feature makes all UPDATEs and INSERTs automatically insert a compressed binary into selected columns. SELECTS will retrieve the decompressed scalar from selected columns. The default is for compress_auto is to be on. EXTENDED METHODS The following DBIx::Class::Row methods are extended by this module:- insert update get_column get_columns SEE ALSO DBIx::Class, Compress::Zlib AUTHOR Jesse Stay (jessestay) <jesse@staynalive.com> A Product of SocialToo.com LICENSE You may distribute this code under the same terms as Perl itself.