Mark Dilger <mark.dil...@enterprisedb.com> writes:
>> On Jan 28, 2020, at 9:30 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
>> A brute-force answer, if there are few enough cases, is to recognize
>> them regardless of the specific value of LC_TIME.  Do we think
>> anybody would notice or care if to_date('Sonnabend', 'TMDay') works
>> even when in a non-German locale?

> I think this only becomes a problem if there are weekday or month name 
> collisions between languages where they have different meanings.  As an 
> absurd hypothetical, if “Sunday” in Tagalog means what “Tuesday” means in 
> English, then you’ve got a problem.

> This does happen for month abbreviations.  “Mar” is short for “March” and 
> variations in a number of languages, but short for “November” in Finnish.

> For day abbreviations, “Su” collides between fi_FI and hr_HR, and “tor” 
> collides between sl_SL and no_NO.

But none of those cases are alternative names, so we wouldn't have
entries for them in this hypothetical list.  They'd only be recognized
when strftime() returns them.  I suspect also that the abbreviated
names have few if any alternatives, so we may only need this whole hack
for full names.

A possible way of tightening things up without explicitly decoding the
locale name is to make the entries of the list be string pairs: "if
strftime() returned this, then also consider that".  That puts a bit
of a premium on knowing which names strftime considers primary, but
I think we'd have had to know that anyway.

                        regards, tom lane


Reply via email to