Skip site navigation (1) Skip section navigation (2)

BUG #6047: prepare p1 as select 'now'::timestamp; then "execute p1" many times, they return the same time

From: "" <wcting163(at)163(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6047: prepare p1 as select 'now'::timestamp; then "execute p1" many times, they return the same time
Date: 2011-06-02 02:53:01
Message-ID: 201106020253.p522r1eD076376@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      6047
Logged by:          
Email address:      wcting163(at)163(dot)com
PostgreSQL version: 9.0.4
Operating system:   WinXP 32bit
Description:        prepare p1 as select 'now'::timestamp; then "execute p1"
many times, they return the same time
Details: 

when i execute the following statements:

prepare p1 as select 'now'::timestamp;
execute p1;
execute p1;

every time i execute statement "execute p1", they all return the same time,
the time when "prepare p1 ..." is created.
but i expect it return the changing time ---- the current time.

1). although i kown that, "the system will convert **now** to a timestamp as
soon as the constant is parsed",
i think this is a bug.

2). maybe you suggest me:
prepare p1 as select now()::timestamp;

then "execute p1" will return the current time.
this is because now() is a builtin function, so we can change "select
'now'::timestamp" to "select now()::timestamp";

but, what about "prepare p1 as select 'today'::timestamp"??
today() is not a builtin function, we can't change it to "select
today()::timestamp";


So, the implementation method of "now" and "today" is different, and
prepare p1 as select 'today'::timestamp;
execute p1;-- will always return the day when the "prepare p1 ..." is
created, even we're in another day.

Responses

pgsql-bugs by date

Next:From: Craig RingerDate: 2011-06-02 08:51:21
Subject: Re: BUG #6047: prepare p1 as select 'now'::timestamp; then "execute p1" many times, they return the same time
Previous:From: Tom LaneDate: 2011-06-01 20:33:02
Subject: Re: [BUGS] BUG #6034: pg_upgrade fails when it should not.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group