Re: Allow to_date() and to_timestamp() to accept localized names

From: Juan José Santamaría Flecha <juanjo(dot)santamaria(at)gmail(dot)com>
To: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Arthur Zakirov <zaartur(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Allow to_date() and to_timestamp() to accept localized names
Date: 2020-01-28 15:47:27
Message-ID: CAC+AXB2uTOaPQ2cxvjgcGF3kRVCucftFwchZdQ5n_F0R+P7KwA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 28, 2020 at 4:06 PM Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
wrote:

>
> I’m not insisting, just asking about the design. If it only works with
> one name supported per weekday per language, and per month per language,
> I’m not going to object. I was just curious if you were going to support
> multiple names anyway, and if that made the question about the Greek case
> folding less pressing.
>
>
This patch targets to do something symmetrical to to_char(), which will
just return a single value.

The issue with the greek locale is that it cannot hold this equivalent
behaviour, as in:

postgres=# select to_date(to_char(now(), 'TMMONTH'), 'TMMONTH');
ERROR: invalid value "ΙΑΝΟΥΆΡΙΟΣ" for "MONTH"

Because of the particular behaviour sigma (Σσς) casing has, which is also
user visible with a lower().

>
> > %E* %O*
> > POSIX locale extensions. The sequences %Ec %EC %Ex %EX %Ey
> %EY %Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy are supposed to
> provide alternate representations.
> >
> > Additionally %OB implemented to represent alternative months
> names (used standalone, without day mentioned).
>
> This is the part I haven’t played with, but it sounds like it can handle
> at least one alternate name. Perhaps you can get the alternates this way?
>
>
This looks like a POSIX feature that some systems might not like (Windows
[1]). But if this is something that the patch should aim to, I am fine with
a RWF and give it another try in the future.

[1]
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l?view=vs-2019

Regards,

Juan José Santamaría Flecha

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2020-01-28 15:56:28 Re: Is custom MemoryContext prohibited?
Previous Message Tom Lane 2020-01-28 15:35:32 Re: Is custom MemoryContext prohibited?