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
foreach ( keys %callback ) {
&{$callback{$_}};
- delete $callback{$_}; #run once
+ # breaks multi-database installs # delete $callback{$_}; #run once
}
$dbh;
=head1 VERSION
-$Id: UID.pm,v 1.15 2002-06-14 09:19:33 ivan Exp $
+$Id: UID.pm,v 1.16 2002-06-28 08:23:44 ivan Exp $
=head1 BUGS