diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 114bdfa2e..428711e47 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -6,6 +6,7 @@ - added: LastModifiedBy macro - added: Group Manager form control - fixed #12050: Thing query caching #1 + - added: Let CHI cache request $dbh via an "args" : [ "dbh" ] cache conf 7.10.11 - fixed #12057: WebGUI::Search, assetIds search clause diff --git a/lib/WebGUI/Cache/CHI.pm b/lib/WebGUI/Cache/CHI.pm index 3f89e4e5d..f976133c9 100644 --- a/lib/WebGUI/Cache/CHI.pm +++ b/lib/WebGUI/Cache/CHI.pm @@ -99,7 +99,13 @@ sub new { # Default values my $resolveConf = sub { my ($config) = @_; - if ( $config->{driver} =~ /DBI/ ) { + if ( + $config->{driver} =~ /DBI/ or ( + $config->{args} and # "args" : [ "dbh" ] in the "cache": { } block? + ref $config->{args} eq 'ARRAY' and + grep($_ eq 'dbh', @{ $config->{args} }) + ) + ) { $config->{ dbh } = $session->db->dbh; } if ( $config->{driver} =~ /File|FastMmap|BerkeleyDB/ ) {