projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix multi-database installs, while hopefully keeping performance improvement
[freeside.git]
/
FS
/
FS
/
Record.pm
diff --git
a/FS/FS/Record.pm
b/FS/FS/Record.pm
index
f7c3a41
..
7d5ff05
100644
(file)
--- a/
FS/FS/Record.pm
+++ b/
FS/FS/Record.pm
@@
-2,7
+2,7
@@
package FS::Record;
use strict;
use vars qw( $dbdef_file $dbdef $setup_hack $AUTOLOAD @ISA @EXPORT_OK $DEBUG
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);
use subs qw(reload_dbdef);
use Exporter;
use Carp qw(carp cluck croak confess);
@@
-1130,8
+1130,10
@@
I<$FS::Record::setup_hack> is true. Returns a DBIx::DBSchema object.
sub reload_dbdef {
my $file = shift || $dbdef_file;
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
}
=item dbdef