BUG #5191: now() returns same value from Perl.

From: "Clark Pearson" <cloink_friggson(at)ntlworld(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5191: now() returns same value from Perl.
Date: 2009-11-16 17:59:21
Message-ID: 200911161759.nAGHxLw9067006@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5191
Logged by: Clark Pearson
Email address: cloink_friggson(at)ntlworld(dot)com
PostgreSQL version: 8.3.7
Operating system: Windows
Description: now() returns same value from Perl.
Details:

Hi,

I don't know if this is a core database issue, or a Perl DBD::Pg one;
however the same thing occurs using the 'pure perl' DBD::PgPP as well, so
the evidence points to the db. Note that I do not observe this behaviour if
connected via psql from a Windows DOS terminal.

If I 'SELECT now()' repeatedly from a perl script connected to the database
via DBD::Pg, the returned value does not get updated to the new system
time.

I have tried a number of different tricks, but the only way I have managed
to make it return a value not the same as the first time is by
dis-/reconnecting.

Here is a simple perl script to test with

#!perl

use strict;
use warnings;
use DBI;

my $dbh = DBI->connect( 'DBI:Pg:dbname=tc;host=localhost;port=5432',
'user', 'pass',
{ RaiseError => 1
, PrintError => 1
, AutoCommit => 0
}
);

my $qry = q(
select current_timestamp
);
$qry = $dbh->prepare($qry);
my $tmp = $dbh->selectrow_array(
'select current_timestamp');
warn $tmp;

sleep 2;

my $tm2 = $dbh->selectrow_array('SELECT 1');
warn $tm2;

my $tm3 = $dbh->selectrow_array('SELECT now()');
warn $tm3;

$dbh->disconnect();
__END__

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Thomas S. Chin 2009-11-16 18:34:29 BUG #5192: --disable-integer-datetimes changes timestamp comparison behavior
Previous Message Pavel Stehule 2009-11-16 11:28:53 Re: psql command line variables are unknown when -c SQL statement are executed