Validation in to_date()

Started by Hitoshi Haradaover 13 years ago2 messageshackers
Jump to latest
#1Hitoshi Harada
umi.tanuki@gmail.com

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

Attachments:

to_date_check.patchapplication/octet-stream; name=to_date_check.patchDownload+6-0
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Hitoshi Harada (#1)
Re: Validation in to_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

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers