X-Git-Url: https://pd.if.org/git/?p=newsd;a=blobdiff_plain;f=Net-Server-NNTP%2Flib%2FNet%2FServer%2FNNTP.pm;h=bcc881f09c0a25d33fa03c099e4c891db19bcb54;hp=3b6eb21eb4fd7d4cec4e78515741b321e6adeab2;hb=c4c6aa228d8767a33820613568f1ebe9e0172297;hpb=e080e9960f4f40d4430cd0b5d13acd829709ab03 diff --git a/Net-Server-NNTP/lib/Net/Server/NNTP.pm b/Net-Server-NNTP/lib/Net/Server/NNTP.pm index 3b6eb21..bcc881f 100644 --- a/Net-Server-NNTP/lib/Net/Server/NNTP.pm +++ b/Net-Server-NNTP/lib/Net/Server/NNTP.pm @@ -1108,10 +1108,20 @@ sub connect_to_storage { # TODO use a config parameter optionally here my $dsn = $ENV{'DBI_DSN'}; - $dsn = 'dbi:Pg:dbname=news' unless defined $dsn; + $dsn = qq{dbi:Pg:dbname=news} unless defined $dsn; $s->log(4, "connecting to $dsn"); - $s->{db} = DBI->connect($dsn,'','',{AutoCommit => 0,RaiseError=>1}); + eval { + $s->{db} = DBI->connect($dsn,'','',{AutoCommit => 0,RaiseError=>1}); + $s->log(4, "Can't connect to DB: $DBI::errstr") unless $s->{db}; + }; + if ($@) { + $s->log(4, "Can't connect to DB: $DBI::errstr"); + die $@; + } + $s->log(4, "connected to $dsn"); + + # TODO abort if can't connect $s->{db}->{PrintError} = 0; $s->{db}->do("set CLIENT_ENCODING to 'SQL_ASCII'");