Re: to_timestamp not stable if date string shorter than - Mailing list pgsql-bugs

From Stephan Szabo
Subject Re: to_timestamp not stable if date string shorter than
Date
Msg-id 20030902163331.M53013-100000@megazone.bigpanda.com
Whole thread Raw
In response to Re: to_timestamp not stable if date string shorter than template  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: to_timestamp not stable if date string shorter than  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-bugs
On Tue, 2 Sep 2003, Tom Lane wrote:

> "Stacy White" <harsh@computer.org> writes:
> > to_timestamp appears to pick up the time-of-day from the previous call's
> > return value if a date string has no time component.  For example:
>
> Weird.  I do not see that here, on either 7.3.4 or current sources.
> Can anyone else reproduce it?
>
> For the record, I get:
>
> regression=#  select to_timestamp('2003-06-01', 'YYYY-MM-DD HH24:MI:SS') ;
>       to_timestamp
> ------------------------
>  2003-06-01 00:00:00-04
> (1 row)
>
> regression=#  select to_timestamp('2003-06-02 12:13:14', 'YYYY-MM-DD HH24:MI:SS') ;
>       to_timestamp
> ------------------------
>  2003-06-02 12:13:14-04
> (1 row)
>
> regression=#  select to_timestamp('2003-06-01', 'YYYY-MM-DD HH24:MI:SS') ;
>       to_timestamp
> ------------------------
>  2003-06-01 00:00:00-04
> (1 row)

I seem to get the incorrect behavior on my 7.4 beta 1 system.  The
behavior on my machine is really wierd in fact even without times
involved:

test=# select to_timestamp('2003-06-04', 'YYYY-MM-DD HH24:MI:SS') ;
      to_timestamp
------------------------
 2003-06-04 00:00:00-07
(1 row)

test=# select to_timestamp('2003-06', 'YYYY-MM-DD HH24:MI:SS') ;
      to_timestamp
------------------------
 2003-06-04 00:00:00-07
(1 row)

test=# select to_timestamp('2003', 'YYYY-MM-DD HH24:MI:SS') ;
      to_timestamp
------------------------
 2003-01-01 00:04:00-08
(1 row)

test=# select to_timestamp('2003-06', 'YYYY-MM-DD HH24:MI:SS') ;
      to_timestamp
------------------------
 2003-06-04 00:00:00-07
(1 row)

test=# select to_timestamp('2003-07', 'YYYY-MM-DD HH24:MI:SS') ;
      to_timestamp
------------------------
 2003-07-04 00:00:00-07
(1 row)

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Cursor bug
Next
From:
Date:
Subject: Returned due to virus; was: Re: Wicked screensaver