Re: to_date_valid()

From: Andreas 'ads' Scherbaum <adsmail(at)wars-nicht(dot)de>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>
Cc: Euler Taveira <euler(at)timbira(dot)com(dot)br>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: to_date_valid()
Date: 2016-07-04 16:24:40
Message-ID: 577A8DC8.2040505@wars-nicht.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 04.07.2016 05:51, Pavel Stehule wrote:
>
>
> 2016-07-04 5:19 GMT+02:00 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com
> <mailto:pavel(dot)stehule(at)gmail(dot)com>>:
>
>
>
> 2016-07-04 4:25 GMT+02:00 Craig Ringer <craig(at)2ndquadrant(dot)com
> <mailto:craig(at)2ndquadrant(dot)com>>:
>
> On 3 July 2016 at 09:32, Euler Taveira <euler(at)timbira(dot)com(dot)br
> <mailto:euler(at)timbira(dot)com(dot)br>> wrote:
>
> On 02-07-2016 22 <tel:02-07-2016%2022>:04, Andreas 'ads'
> Scherbaum wrote:
> > The attached patch adds a new function "to_date_valid()" which will
> > validate the date and return an error if the input and output date do
> > not match. Tests included, documentation update as well.
> >
> Why don't you add a third parameter (say, validate = true |
> false)
> instead of creating another function? The new parameter
> could default to
> false to not break compatibility.
>
>
> because
>
>
> SELECT to_date('blah', 'pattern', true)
>
> is less clear to read than
>
> SELECT to_date_valid('blah', 'pattern')
>
> and offers no advantage. It's likely faster to use a separate
> function too.
>
>
> personally I prefer first variant - this is same function with
> stronger check.
>
>
> Currently probably we have not two similar function - one fault
> tolerant and second stricter. There is only one example of similar
> behave - parse_ident with "strict" option.
>
> The three parameters are ok still - so I don't see a reason why we have
> to implement new function. If you need to emphasize the fact so behave
> should be strict, you can use named parameters
>
> select to_date('blah', 'patter', strict => true)

The new function is not "strict", it just adds a validation step:

postgres=# select to_date_valid(NULL, NULL);
to_date_valid
---------------

(1 row)

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2016-07-04 16:37:00 Re: to_date_valid()
Previous Message Andreas 'ads' Scherbaum 2016-07-04 16:17:34 Re: to_date_valid()