Re: BUG #14446: make_date with negative year - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: BUG #14446: make_date with negative year
Date
Msg-id CAFj8pRBCZBKWME6iYnswg0OjCCeOkMXU8yreFS5wYQkmD3D+Pg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #14446: make_date with negative year  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: BUG #14446: make_date with negative year
List pgsql-bugs
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
>
>

pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #14446: make_date with negative year
Next
From: hmahmood89@googlemail.com
Date:
Subject: BUG #14448: create table as values - type check skipped