pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Arthur Zakirov <zaartur@gmail.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: Allow to_date() and to_timestamp() to accept localized names
Date: Tue, 28 Jan 2020 14:37:50 -0500
Message-ID: <27210.1580240270@sss.pgh.pa.us> (raw)
In-Reply-To: <06220D86-5D3B-4EAA-860D-4328F926010F@enterprisedb.com>
References: <20200124161814.GA8989@alvherre.pgsql>
	<32487.1579882979@sss.pgh.pa.us>
	<2f83150e-a2c0-6318-3125-d9b86e421aa2@2ndquadrant.com>
	<964.1579884408@sss.pgh.pa.us>
	<CAC+AXB1+dHo_DhCTySrqoVaq9WUta9uA+2Ens-bEqDw8X4UbTA@mail.gmail.com>
	<ba83b5a7-e63e-5aaf-ac29-745a549f9d7d@2ndquadrant.com>
	<aa5d8d96-0eb6-07b9-2caf-0910b313cb56@2ndquadrant.com>
	<7212.1580177517@sss.pgh.pa.us>
	<2E3D8D71-3B55-4735-A047-1FECE1506CD1@enterprisedb.com>
	<d2b20ae0-a377-5edc-504b-80b1792a6bf0@2ndquadrant.com>
	<6642.1580223087@sss.pgh.pa.us>
	<4144A0A0-4820-458D-A105-D5EC0E0D133B@enterprisedb.com>
	<15575.1580232642@sss.pgh.pa.us>
	<06220D86-5D3B-4EAA-860D-4328F926010F@enterprisedb.com>

Mark Dilger <mark.dilger@enterprisedb.com> writes:
>> On Jan 28, 2020, at 9:30 AM, Tom Lane <tgl@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





view thread (66+ messages)  latest in thread

Message-ID: <27210.1580240270@sss.pgh.pa.us>
Permalink:  ../27210.1580240270@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/27210.1580240270@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, mark.dilger@enterprisedb.com, peter.eisentraut@2ndquadrant.com, juanjo.santamaria@gmail.com, alvherre@2ndquadrant.com, zaartur@gmail.com, tomas.vondra@2ndquadrant.com, pgsql-hackers@lists.postgresql.org
  Subject: Re: Allow to_date() and to_timestamp() to accept localized names
  In-Reply-To: <27210.1580240270@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox