summaryrefslogtreecommitdiff
path: root/perl-lib/PgCommitFest/Handler.pm
diff options
context:
space:
mode:
authorRobert Haas2009-05-24 02:00:19 +0000
committerRobert Haas2009-05-24 02:00:19 +0000
commitc393c68db3df467ee02dbc83aad4662e36cc7629 (patch)
tree4ec308daa9e4846e017d706960d16bfa2c73b351 /perl-lib/PgCommitFest/Handler.pm
parenta1bb7bcda0069888fb580d0b7089bd9e3634de06 (diff)
Avoid opening the database connection sooner than necessary.
Diffstat (limited to 'perl-lib/PgCommitFest/Handler.pm')
-rw-r--r--perl-lib/PgCommitFest/Handler.pm10
1 files changed, 2 insertions, 8 deletions
diff --git a/perl-lib/PgCommitFest/Handler.pm b/perl-lib/PgCommitFest/Handler.pm
index 13af0fd..6ad00d9 100644
--- a/perl-lib/PgCommitFest/Handler.pm
+++ b/perl-lib/PgCommitFest/Handler.pm
@@ -27,16 +27,11 @@ our %ACTION = (
'patch_comment_delete' => \&PgCommitFest::PatchComment::delete
);
-our $PG = 'dbi:Pg:dbname=pgcommitfest';
-our $PGUSERNAME = 'pgcommitfest';
-our $PGPASSWORD = '';
-
sub main_loop {
$SIG{'PIPE'} = sub { die "SIGPIPE\n"; };
while (1) {
# Invoke main request handler and save any resulting error message.
- my $db = PgCommitFest::DB->connect($PG, $PGUSERNAME, $PGPASSWORD);
- my $r = PgCommitFest::Request->new($db);
+ my $r = PgCommitFest::Request->new();
last if !defined $r;
eval {
handler($r);
@@ -47,7 +42,7 @@ sub main_loop {
my $err = $@;
# Roll back any uncommited database work.
- $db->tidy;
+ $r->db->tidy if $r->db_is_connected;
# Print errors to system log.
if ($err && $err ne "SIGPIPE\n" && $err ne "DONE\n") {
@@ -57,7 +52,6 @@ sub main_loop {
$r->render_template('error', { 'error_list' => [ $err ] });
}
}
- $db->disconnect;
}
}