From 86a245f0ab0d6f331f7bc911e62994a105e78693 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sun, 22 Nov 2009 22:24:07 +0000 Subject: =?UTF-8?q?Bug=20530270:=20Whining=20fails=20if=20mail=20queueing?= =?UTF-8?q?=20is=20enabled=20-=20Patch=20by=20Fr=C3=83=C2=A9d=C3=83=C2=A9r?= =?UTF-8?q?ic=20Buclin=20=20r=3Dmkanat=20a=3DLpSolit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla.pm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'Bugzilla.pm') diff --git a/Bugzilla.pm b/Bugzilla.pm index 3c547b980..b85186e6e 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -386,12 +386,17 @@ sub job_queue { sub dbh { my $class = shift; # If we're not connected, then we must want the main db - $class->request_cache->{dbh} ||= $class->request_cache->{dbh_main} - = Bugzilla::DB::connect_main(); + $class->request_cache->{dbh} ||= $class->dbh_main; return $class->request_cache->{dbh}; } +sub dbh_main { + my $class = shift; + $class->request_cache->{dbh_main} ||= Bugzilla::DB::connect_main(); + return $class->request_cache->{dbh_main}; +} + sub languages { my $class = shift; return $class->request_cache->{languages} @@ -487,7 +492,7 @@ sub switch_to_shadow_db { if ($class->params->{'shadowdb'}) { $class->request_cache->{dbh_shadow} = Bugzilla::DB::connect_shadow(); } else { - $class->request_cache->{dbh_shadow} = request_cache()->{dbh_main}; + $class->request_cache->{dbh_shadow} = $class->dbh_main; } } @@ -501,11 +506,8 @@ sub switch_to_shadow_db { sub switch_to_main_db { my $class = shift; - $class->request_cache->{dbh} = $class->request_cache->{dbh_main}; - # We have to return $class->dbh instead of {dbh} as - # {dbh_main} may be undefined if no connection to the main DB - # has been established yet. - return $class->dbh; + $class->request_cache->{dbh} = $class->dbh_main; + return $class->dbh_main; } sub get_fields { @@ -796,6 +798,10 @@ used to automatically answer or skip prompts. The current database handle. See L. +=item C + +The main database handle. See L. + =item C Currently installed languages. -- cgit v1.2.1