Re: BUG #14446: make_date with negative year
От | Pavel Stehule |
---|---|
Тема | Re: BUG #14446: make_date with negative year |
Дата | |
Msg-id | CAFj8pRBCZBKWME6iYnswg0OjCCeOkMXU8yreFS5wYQkmD3D+Pg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #14446: make_date with negative year (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: BUG #14446: make_date with negative year
|
Список | 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 по дате отправления: