Thread: Validation in to_date()

Validation in to_date()

From
Hitoshi Harada
Date:
to_date() doesn't check the date range, which results in unreadable
data like this.

foo=# create table t as select to_date('9999-12-10 BC', 'YYYY-MM-DD
BC')::timestamp;
SELECT 1
foo=# table t;
ERROR:  timestamp out of range

Attached is to add IS_VALID_JULIAN() as we do like in date_in().  I
think to_date() should follow it because it is the entrance place to
check sanity.

Thanks,
--
Hitoshi Harada

Attachment

Re: Validation in to_date()

From
Tom Lane
Date:
Hitoshi Harada <umi.tanuki@gmail.com> writes:
> to_date() doesn't check the date range, which results in unreadable
> data like this.

> foo=# create table t as select to_date('9999-12-10 BC', 'YYYY-MM-DD
> BC')::timestamp;
> SELECT 1
> foo=# table t;
> ERROR:  timestamp out of range

> Attached is to add IS_VALID_JULIAN() as we do like in date_in().  I
> think to_date() should follow it because it is the entrance place to
> check sanity.

This looks like a good idea, will commit.
        regards, tom lane