BUG #15351: to_date() function bug - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15351: to_date() function bug
Date
Msg-id 153512536372.1489.18196536375179237149@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #15351: to_date() function bug  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15351
Logged by:          Василий Пупкин
Email address:      infinite77derger@gmail.com
PostgreSQL version: 10.4
Operating system:   Ubuntu
Description:

Hi!
I have version: PostgreSQL 10.4 (Debian 10.4-2.pgdg90+1) on
x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0
20170516, 64-bit

And there is a bug in to_date()  function:

All dates, that are less then '04.01.0001', returns in Before Christ (!)
format.

Examples:
SELECT to_date('01.12.0000', 'DD.MM.YYYY'); - -   converts to 0001-12-01 BC
(Before Christ)
SELECT to_date('01.01.0000', 'DD.MM.YYYY'); - -   converts to 0001-01-01
BC
SELECT to_date('01.01.0001', 'DD.MM.YYYY'); - -   converts to 0001-01-01
BC
SELECT to_date('01.01.0001 whatever', 'DD.MM.YYYY'); - -  converts to
0001-01-01 BC
SELECT  to_date('', 'DD.MM.YYYY'); - - empty text also converts to
0001-01-01 BC

SELECT to_date('03.01.0001', 'DD.MM.YYYY'); - - converts to 0001-01-03 BC
But
SELECT to_date('04.01.0001', 'DD.MM.YYYY'); - - converts to 0001-01-04 -
correct


pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #15350: Getting invalid cache ID: 11 Errors
Next
From: Tom Lane
Date:
Subject: Re: BUG #15351: to_date() function bug