The following bug has been logged online: Bug reference: 6047 Logged by: Email address: wcting...@163.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. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs