Re: Additional current timestamp values - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: Additional current timestamp values
Date
Msg-id 200603202319.k2KNJNs10543@candle.pha.pa.us
Whole thread Raw
In response to Re: Additional current timestamp values  (Neil Conway <neilc@samurai.com>)
List pgsql-patches
Neil Conway wrote:
> 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.

OK, so we just decided transaction timestamp is the most logical value
for CURRENT_TIMESTAMP.  Anyway, this might mean we should have
transaction_timestamp for completeness.  Not sure.

--
  Bruce Momjian   http://candle.pha.pa.us
  SRA OSS, Inc.   http://www.sraoss.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Additional current timestamp values
Next
From: Tom Lane
Date:
Subject: Re: Additional current timestamp values