Re: [SQL] [GENERAL] CURRENT_TIMESTAMP - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [SQL] [GENERAL] CURRENT_TIMESTAMP
Date
Msg-id 200210032215.g93MFx823428@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] [GENERAL] CURRENT_TIMESTAMP  (Andrew Sullivan <andrew@libertyrms.info>)
Responses Re: [SQL] [GENERAL] CURRENT_TIMESTAMP  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Andrew Sullivan wrote:
> On Thu, Oct 03, 2002 at 04:18:08PM -0400, Bruce Momjian wrote:
> > 
> > So, we have a couple of decisions to make:
> > 
> >     Should CURRENT_TIMESTAMP be changed to "statement arrival time"?
> >     Should now() be changed the same way?
> >     If not, should now() and CURRENT_TIMESTAMP return the same type of
> >     value?
> > 
> > One idea is to change CURRENT_TIMESTAMP to "statement arrival time", and
> > leave now() as transaction start time. 
> 
> A disadvantage to this, as I see it, is that users may have depended on
> the traditional Postgres behavior of time "freezing" in transaction. 
> You always had to select timeofday() for moving time.  I can see an
> advantage in making what Postgres does somewhat more like what other
> people do (as flat-out silly as some of that seems to be).  Still, it
> looks to me like the present CURRENT_TIMESTAMP implementation is at
> least as much like the spec as anyone else's implementation, and more
> like the spec than many of them.  So I'm still not clear on what
> problem the change is going to fix, especially since it breaks with
> traditional behavior.

Uh, why change?  Well, we have a "tradition" issue here, and changing it
will require something in the release notes.  The big reason to change
is that most people using CURRENT_TIMESTAMP are not anticipating that it
is transaction start time, and are asking/complaining.  We had one only
this week.  If it were obvious to users when they used it, we could just
say it is our way of doing it, but in most cases it is catching people
by surprised.  Given that other DB's have CURRENT_TIMESTAMP changing
even more frequently than we think is reasonable, it would make sense to
change it so it more closely matches what people expect, both new SQL
users and users moving from other DBs.

So, in summary, reasons for the change:
more intuitivemore standard-compliantmore closely matches other db's

Reasons not to change:
PostgreSQL traditional behavior

Does that help?

--  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,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Andrew Sullivan
Date:
Subject: Re: [SQL] [GENERAL] CURRENT_TIMESTAMP
Next
From: "Curtis Faith"
Date:
Subject: Re: Advice: Where could I be of help?