From: | Manfred Koizar <mkoi-pg(at)aon(dot)at> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Aaron Held <aaron(at)MetroNY(dot)com>, Roberto Mello <rmello(at)cc(dot)usu(dot)edu>, Neil Conway <neilc(at)samurai(dot)com>, pgsql-sql(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: [SQL] CURRENT_TIMESTAMP |
Date: | 2002-09-23 19:02:00 |
Message-ID: | kgmuouku2imliobrrck45ugkc0hlrkbo1v@4ax.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers pgsql-sql |
On Mon, 23 Sep 2002 13:05:42 -0400, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
wrote:
>Manfred Koizar <mkoi-pg(at)aon(dot)at> writes:
>> This has been discussed before and I know I'm going to get flamed for
>> this, but IMHO having now() (which is a synonym for CURRENT_TIMESTAMP)
>> return the start time of the current transaction is a bug, or at least
>> it is not conforming to the standard.
>
>As you say, it's been discussed before.
Yes, and I hate to be annoying.
>We concluded that the spec defines the behavior as
>implementation-dependent,
AFAICT the spec requires the returned value to meet two conditions.
C1: If a statement contains more than one <datetime value function>,
they all have to return (maybe different formats of) the same value.
C2: The returned value has to represent a point in time *during* the
execution of the SQL-statement.
The only thing an implementor is free to choose is which point in time
"during the execution of the SQL-statement" is to be returned, i.e. a
timestamp in the interval between the start of the statement and the
first time when the value is needed.
The current implementation only conforms to C1.
>and therefore we can pretty much do what we want.
Start time of the statement, ... of the transaction, ... of the
session, ... of the postmaster, ... of the century?
I understand that with subselects, functions, triggers, rules etc. it
is not easy to implement the specification. If we can't do it now, we
should at least add a todo and make clear in the documentation that
CURRENT_DATE/TIME/TIMESTAMP is not SQL92/99 compliant.
Servus
Manfred
From | Date | Subject | |
---|---|---|---|
Next Message | Nigel J. Andrews | 2002-09-23 19:03:17 | Re: Different Port for PostgreSQL? |
Previous Message | Dan Ostrowski | 2002-09-23 18:45:31 | Re: Different Port for PostgreSQL? |
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Copeland | 2002-09-23 20:26:34 | Re: [GENERAL] Memory Errors... |
Previous Message | Neil Conway | 2002-09-23 18:50:09 | Re: Temp tables and LRU-K caching |
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2002-09-23 20:36:59 | Re: [GENERAL] CURRENT_TIMESTAMP |
Previous Message | Tom Lane | 2002-09-23 17:05:42 | Re: [SQL] Monitoring a Query |