Re: to_date_valid() - Mailing list pgsql-hackers

From Andreas 'ads' Scherbaum
Subject Re: to_date_valid()
Date
Msg-id 5c6ead68-c229-297b-7a2d-f38b84160dba@wars-nicht.de
Whole thread Raw
In response to Re: to_date_valid()  (Artur Zakirov <a.zakirov@postgrespro.ru>)
List pgsql-hackers
On 15.08.2016 13:44, Artur Zakirov wrote:
> On 15.08.2016 14:33, Andreas 'ads' Scherbaum wrote:
>>> Is it right and "true" way to validate date by extra transforming and
>>> comparison?
>>>
>>> Maybe validate date by using ValidateDate(). Attached sample patch.
>>
>> This does not solve the problem at hand, and let's wrong dates/formats
>> slip through:
>>
>> ./buildclient.py -v -c demo-config-pg.yaml --run-configure --run-make
>> --run-install --no-clean-at-all --patch
>> 'https://www.postgresql.org/message-id/95738e12-6ed6-daf5-9dcf-6336072e6b15%40postgrespro.ru'
>>
>>
>>
>>
>> postgres=# SELECT to_date('2011 12  18', 'YYYY MM   DD');
>>   to_date
>> ------------
>>  2011-12-08
>> (1 row)
>>
>>
>> That is from the regression tests, and obviously handles the date
>> transformation wrong. My attempt catches this, because I compare the
>> date with the input date, and do not rely on a valid date only.
>
> I suppose that your sample query is an another issue, not date validate
> task. I sent the patch to the thread
> https://www.postgresql.org/message-id/b2a39359-3282-b402-f4a3-057aae500ee7@postgrespro.ru
> . It fixes formatting issues.
>
> I thought that it is better to distinguish this issues to:
> - validation of input date/timestmap string and input format string
> - result date/timestamp validation

I was a bit confused when I've seen that you modified another function 
in your patch, but tried it out nevertheless. After all, you answered 
one of my emails, and I let my tool download your patch directly from 
the website. The other thread you are mentioning is a different topic.

Anyway, what I'm trying to solve is validate that to_date() produces 
valid and correct output. It does not, as of today.


Regards,

--             Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors
Volunteer Regional Contact, Germany - PostgreSQL Project



pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Pluggable storage
Next
From: Aleksander Alekseev
Date:
Subject: Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables)