to_char miscalculation on April Fool's Day - the start of daylight savings

Поиск
Список
Период
Сортировка
От Chris Straka
Тема to_char miscalculation on April Fool's Day - the start of daylight savings
Дата
Msg-id 01C0BC30.57F68640.cstraka@incontactnow.com
обсуждение исходный текст
Список pgsql-bugs
Likely related to bug #249.  I also entered this bug in the bug tool
database

Hello,
It's April 3 and I'm developing an update routine to maintain expired
records, some of which expired on April 1.  When these records didn't get
updated, I investigated and identified the alleged bug (which is
potentially devastating based on date intensive calculations in financial
applications).

The quickest demonstration is as follows:
select to_char(now(), 'YYYY-MM-DD');

Based on the date you see, subtract an integer value from now() so the
query result shows 2-Apr.  Assuming it's April 3, enter:
select to_char(now() -1, 'YYYY-MM-DD');

It comes back fine with 2001-04-02.

Now decrement by x + 1 to see the bug.  Assuming it's April 3, enter:
select to_char(now() - 2, 'YYYY-MM-DD');

It comes back incorrectly with 2001-03-31;

The bug is specific to April 1.  Assuming it's April 3, you get a correct
result of 2000-03-01 if you enter:
select to_char(now() -33, 'YYYY-MM-DD');

I'm running on Red Hat Linux 6.2 - select version() returns the following:
PostgreSQL 7.0.2 on i686-pc-linux-gnu, compiled by gcc egcs-2.91.66

Please advise if you need more info.

Chris Straka

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Patricia Holben
Дата:
Сообщение: Re: Table constraint ordering disrupted by pg_dump
Следующее
От: PRAGATI SAVAIKAR
Дата:
Сообщение: sanity check error for pg_dump