use strict;
use vars qw( $dbdef_file $dbdef $setup_hack $AUTOLOAD @ISA @EXPORT_OK $DEBUG
- $me );
+ $me %dbdef_cache );
use subs qw(reload_dbdef);
use Exporter;
use Carp qw(carp cluck croak confess);
sub reload_dbdef {
my $file = shift || $dbdef_file;
- $dbdef = load DBIx::DBSchema $file
- or die "can't load database schema from $file";
+ $dbdef = exists $dbdef_cache{$file}
+ ? $dbdef_cache{$file}
+ : $dbdef_cache{$file} = DBIx::DBSchema->load( $file )
+ or die "can't load database schema from $file";
}
=item dbdef
my($dbh)=dbh;
if ( $value =~ /^\d+(\.\d+)?$/ &&
# ! ( datatype($table,$field) =~ /^char/ )
- ! ( $dbdef->table($table)->column($field)->type =~ /(char|binary)$/i )
+ ! $dbdef->table($table)->column($field)->type =~ /(char|binary|text)$/i
) {
$value;
} else {