Re: (Fwd) Re: Any Oracle 9 users? A test please...

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Hannu Krosing <hannu@tm.ee>
Cc: Mike Mascari <mascarm@mascari.com>, Dan Langille <dan@langille.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2002-09-30T20:37:55Z
Lists: pgsql-hackers
Hannu Krosing wrote:
> On Tue, 2002-10-01 at 01:10, Bruce Momjian wrote:
> > 
> > > Given what Tom has posted regarding the standard, I think Oracle 
> > > is wrong. I'm wondering how the others handle multiple 
> > > references in CURRENT_TIMESTAMP in a single stored 
> > > procedure/function invocation. It seems to me that the lower 
> > > bound is #4, not #5, and the upper bound is implementation 
> > > dependent. Therefore PostgreSQL is in compliance, but its 
> > > compliance is not very popular.
> > 
> > I don't see how we can be compliant if SQL92 says:
> > 
> > 	The time of evaluation of the <datetime value function> during the
> > 	execution of the SQL-statement is implementation-dependent.
> > 
> > It says it has to be "during the SQL statement", or is SQL statement
> > also ambiguous? 
> 
> It can be, as "during the SQL statement" can mean either the single
> statement inside the PL/SQL function (SELECT CURRENT_TIMESTAMP INTO
> time1 FROM DUAL;) or the whole invocation of the Pl/SQL funtion (the /
> command in Mikes sample, i believe)

Which is what Oracle may have done.  SQL99 talks about triggers seeing
the same date/time, but then again if your trigger is a function, it has
to see the same values for all of its calls.  This doesn't match Oracle,
unless they have some switch that returns consistent values when the
function is called as a trigger (yuck).

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073