Re: BUG #6126: CC parameter in to_char() behaves incorrectly

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Artem Andreev <artem(at)oktetlabs(dot)ru>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6126: CC parameter in to_char() behaves incorrectly
Date: 2012-08-07 17:35:02
Message-ID: 20120807173502.GN29773@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Aug 6, 2012 at 03:20:18PM -0400, Bruce Momjian wrote:
> On Sat, Aug 4, 2012 at 10:34:14AM -0400, Bruce Momjian wrote:
> > > I am thinking it is too late to apply this for 9.2 because users might
> > > have already tested their applications, though I doubt many are using BC
> > > dates. Feedback?
> >
> > There is never just one bug in formatting.c --- the input side was also
> > broken for BC/negative centuries. The attached patch fixes the input
> > side as well, and shows the old/fixed output for BC centuries. The test
> > queries were:
> >
> > SELECT to_date('-6 4', 'CC YY');
> > SELECT to_date(' 6 4', 'CC YY');
> > SELECT to_date('-6 00', 'CC YY');
> > SELECT to_date(' 6 00', 'CC YY');
> > SELECT to_date('-6', 'CC');
> > SELECT to_date(' 6', 'CC');
> >
> > I believe this is all for 9.3-only.
>
> OK, I found another bug in our code; the output of:
>
> SELECT to_date(' 6 BC', 'CC BC');
>
> returned 501BC, instead of the start of the century, 600BC, like SELECT
> to_date('-6', 'CC') does.
>
> I also allowed negative BC dates to map to AD dates, just like negative
> AD dates map to BC dates.
>
> Attached is an updated patch and output diff.

Applied.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2012-08-07 18:22:23 Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram
Previous Message dcarmich 2012-08-07 17:24:49 BUG #7483: uuid-ossp does not compile on OS X 10.8