use Data::Dumper;
use English qw(-no_match_vars);
use Rose::DB;
-use Rose::DBx::Cache::Anywhere;
+use SL::DB::Helper::Cache;
+use Scalar::Util qw(blessed);
use base qw(Rose::DB);
-__PACKAGE__->db_cache_class('Rose::DBx::Cache::Anywhere');
+__PACKAGE__->db_cache_class('SL::DB::Helper::Cache');
__PACKAGE__->use_private_registry;
my (%_db_registered);
my %flattened_settings = _flatten_settings(%connect_settings);
$domain = 'KIVITENDO' if $type =~ m/^KIVITENDO/;
- $type .= join($SUBSCRIPT_SEPARATOR, map { ($_, $flattened_settings{$_} || '') } sort grep { $_ ne 'dbpasswd' } keys %flattened_settings);
+ $type .= join($SUBSCRIPT_SEPARATOR, map { ($_, $flattened_settings{$_} || '') } sort grep { $_ ne 'password' } keys %flattened_settings);
my $idx = "${domain}::${type}";
if (!$_db_registered{$idx}) {
my $rv = 1;
local $@;
-
+ my $return_array = wantarray;
eval {
- wantarray
+ $return_array
? $self->do_transaction(sub { @result = $code->(@args) })
: $self->do_transaction(sub { $result = $code->(@args) });
} or do {
my $error = $self->error;
- if (ref $error) {
+ if (blessed $error) {
if ($error->isa('SL::X::DBError')) {
# gobble the exception
} else {
}
};
- return wantarray ? @result : $result;
+ return $return_array ? @result : $result;
}
1;