[mapserver-users] Re: could MapServer be closing connection to Pg prematurely?

Mr. Puneet Kishor punk.kish at gmail.com
Sat Sep 3 22:42:54 EDT 2011


the following is solved by adding ` {InactiveDestroy => 1}` to the $dbh


On Sep 3, 2011, at 9:19 PM, Mr. Puneet Kishor wrote:

> I have the following code
> 
>    $layer_gmna->{name} = 'gmna';
>    $layer_gmna->{status} = $mapscript::MS_ON;
>    $layer_gmna->{type} = $mapscript::MS_LAYER_POLYGON;
>    $layer_gmna->{connection} = "host=$dbhost port=$dbport dbname=$dbname user=$dbuser password=$dbpswd";
>    $layer_gmna->setConnectionType($mapscript::MS_POSTGIS, '');
>    $layer_gmna->{data} = 'the_geom FROM ..';
>    $layer_gmna->{classitem} = 'interval_name';
> 
>    my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$dbhost;port=$dbport", $dbuser, $dbpswd);
>>>> my $sth = $dbh->prepare("SELECT interval_name, color_hex FROM intervals_old");
>    $sth->execute or debug $sth->errstr;
>    while (my ($interval_name, $color_hex) = $sth->fetchrow_array) {
>        my $classObj = new mapscript::classObj( $layer_gmna );
>        $classObj->{name} = $interval_name;
>        $classObj->setExpression( $interval_name );
>        my $styleObj = styleObj(classObj => $classObj, colorObj => colorObj('hex' => $color_hex));    
>    }
> 
> 
> By the time I reach the line marked with '>>>', the db connection is closed. I get the following message: "DBD::Pg::st execute failed: server closed the connection unexpectedly. This probably means the server terminated abnormally before or while processing the request. at /Users/punkish/Documents/www/geomaps/lib/geomaps.pm line 1225."
> 
> Maybe MapServer has nothing to do with it, but, is it possible that MapServer efficiently closes all DB connections after it has pulled in the data from the tables? If so, is there a way I can stop it from doing so?



More information about the mapserver-users mailing list