2016-12-04 14:40 GMT+01:00 Alvaro Herrera <alvherre@2ndquadrant.com>:
> abelisto@gmail.com wrote:
>
> > Bug reference: 14446
> > Logged by: Andy Abelisto
> > Email address: abelisto@gmail.com
> > PostgreSQL version: 9.5.5
> > Operating system: Linux Mint
> > Description:
> >
> > with t(x) as (values('1111-11-11 BC'::date)) select
> make_date(extract(year
> > from x)::int, extract(month from x)::int, extract(day from x)::int) fro=
m
> > t;
> > ERROR: date field value out of range: -1111-11-11
>
> make_date() has:
>
> /*
> * Note: we'll reject zero or negative year values. Perhaps
> negatives
> * should be allowed to represent BC years?
> */
> dterr =3D ValidateDate(DTK_DATE_M, false, false, false, &tm);
>
> With the attached patch it becomes (needs docs, tests):
>
> with t(x) as (values('1111-11-11 BC'::date),
> ('00001-11-11 bc'),
> ('00001-11-11'),
> ('1111-11-11')
> )
> select make_date(extract(year
> from x)::int, extract(month from x)::int, extract(day from x)::int) from
> t;
> make_date
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> 1111-11-11 BC
> 0001-11-11 BC
> 0001-11-11
> 1111-11-11
> (4 filas)
>
>
+1
Regards
Pavel
> --
> =C3=81lvaro Herrera https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>
>