Re: Additional current timestamp values

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Neil Conway <neilc(at)samurai(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-patches(at)postgresql(dot)org, Brendan Jurd <direvus(at)gmail(dot)com>
Subject: Re: Additional current timestamp values
Date: 2006-03-20 23:19:23
Message-ID: 200603202319.k2KNJNs10543@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers 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. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-03-20 23:38:45 Re: Additional current timestamp values
Previous Message Bruce Momjian 2006-03-20 23:17:22 Re: Additional current timestamp values

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-03-20 23:38:45 Re: Additional current timestamp values
Previous Message Bruce Momjian 2006-03-20 23:17:22 Re: Additional current timestamp values