| Rose-DB-Object documentation | Contained in the Rose-DB-Object distribution. |
Rose::DB::Object::Metadata::Column::Varchar - Variable-length character column metadata.
use Rose::DB::Object::Metadata::Column::Varchar; $col = Rose::DB::Object::Metadata::Column::Varchar->new(...); $col->make_methods(...); ...
Objects of this class store and manipulate metadata for variable-length character columns in a database. Column metadata objects store information about columns (data type, size, etc.) and are responsible for creating object methods that manipulate column values.
This class inherits from Rose::DB::Object::Metadata::Column::Character. Inherited methods that are not overridden will not be documented a second time here. See the Rose::DB::Object::Metadata::Column::Character documentation for more information.
get_setgetget_setSee the Rose::DB::Object::Metadata::Column documentation for an explanation of this method map.
If length is defined, returns VALUE truncated to a maximum of length characters. DB is a Rose::DB object that may be used as part of the parsing process. Both arguments are required.
Returns "varchar".
John C. Siracusa (siracusa@gmail.com)
Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Rose-DB-Object documentation | Contained in the Rose-DB-Object distribution. |
package Rose::DB::Object::Metadata::Column::Varchar; use strict; use Rose::DB::Object::Metadata::Column::Character; our @ISA = qw(Rose::DB::Object::Metadata::Column::Character); our $VERSION = '0.03'; foreach my $type (__PACKAGE__->available_method_types) { __PACKAGE__->method_maker_type($type => 'varchar'); } sub type { 'varchar' } sub parse_value { my $length = $_[0]->length or return $_[2]; return substr($_[2], 0, $length); } *format_value = \&parse_value; 1; __END__