X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDBConnect%2FCache.pm;h=c133e8a3db641f6e713e8f06b28f388ee0dc9fa5;hb=a9d9ca02abd3a0ff1e43f23888142266174bec55;hp=778785ce0d940ff3672f06aea22923362c8afd1c;hpb=c51601f019f963dcdc875469514aa40802b5c574;p=kivitendo-erp.git diff --git a/SL/DBConnect/Cache.pm b/SL/DBConnect/Cache.pm index 778785ce0..c133e8a3d 100644 --- a/SL/DBConnect/Cache.pm +++ b/SL/DBConnect/Cache.pm @@ -35,10 +35,19 @@ sub reset { $dbh; } +sub reset_all { + $_->{AutoCommit} || $_->rollback for values %cache; +} + sub clear { %cache = (); } +sub disconnect_all_and_clear { + $_->disconnect for values %cache; + %cache = (); +} + sub _args2str { my (@args) = @_; @@ -52,7 +61,7 @@ sub _args2str { map { $_ => $options->{$_} } sort keys %$options; # deterministic order - join ';', apply { s/([;\\])/\\$1/g } $dbconnect, $dbuser, $dbpasswd, $options_str, $initial_sql; + join ';', apply { $_ //= ''; s/([;\\])/\\$1/g } $dbconnect, $dbuser, $dbpasswd, $options_str, $initial_sql; } 1;