Bruce Momjian wrote:
Peter Eisentraut wrote:
The most common complaint that I recall is that current_timestamp
returns the transaction timestamp rather than the statement timestamp,
which is what many expect. How does your patch address that?
No, we believe the standard requires it.
My copy of SQL 200n has the following to say:
Annex C, paragraph 16:
"The time of evaluation of the CURRENT_DATE, CURRENT_TIME, and
CURRENT_TIMESTAMP functions during the execution of an
SQL-statement is implementation-dependent."
6.31, <datetime value function>:
(1) The <datetime value function>s CURRENT_DATE, CURRENT_TIME,
and CURRENT_TIMESTAMP respectively return the current date,
current time, and current timestamp; the time and timestamp values
are returned with time zone displacement equal to the current
default time zone displacement of the SQL-session. [...]
(2) Let S be an <SQL procedure statement> that is not generally
contained in a <triggered action>. All <datetime value function>s
that are contained in <value expression>s that are generally
contained, without an intervening <routine invocation> whose subject
routines do not include an SQL function, either in S without an
intervening <SQL procedure statement> or in an <SQL procedure
statement> contained in the <triggered action> of a trigger
activated as a consequence of executing S, are effectively evaluated
simultaneously. The time of evaluation of a <datetime value
function> during the execution of S and its activated triggers is
implementation-dependent.
-Neil
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq