From: lpsolit%gmail.com <> Date: Sun, 22 Nov 2009 22:26:03 +0000 (+0000) Subject: Bug 530270: Whining fails if mail queueing is enabled - Patch by Frédéric Buclin... X-Git-Tag: bugzilla-3.4.5~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ee674a8eab318525788f518c6203a60b33b9224;p=thirdparty%2Fbugzilla.git Bug 530270: Whining fails if mail queueing is enabled - Patch by Frédéric Buclin r=mkanat a=LpSolit --- diff --git a/Bugzilla.pm b/Bugzilla.pm index 7d1b1f801d..0969ccedb0 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -337,12 +337,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} @@ -426,7 +431,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; } } @@ -440,11 +445,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 { @@ -710,6 +712,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. diff --git a/Bugzilla/JobQueue.pm b/Bugzilla/JobQueue.pm index 102f58bc68..b938df1cb5 100644 --- a/Bugzilla/JobQueue.pm +++ b/Bugzilla/JobQueue.pm @@ -43,9 +43,11 @@ sub new { } my $lc = Bugzilla->localconfig; + # We need to use the main DB as TheSchwartz module is going + # to write to it. my $self = $class->SUPER::new( databases => [{ - dsn => Bugzilla->dbh->{private_bz_dsn}, + dsn => Bugzilla->dbh_main->{private_bz_dsn}, user => $lc->{db_user}, pass => $lc->{db_pass}, prefix => 'ts_',