On 2019-Aug-22, Juan José Santamaría Flecha wrote: > On Sun, Aug 18, 2019 at 10:42 AM Juan José Santamaría Flecha > <juanjo.santama...@gmail.com> wrote: > > > > Going through the current items in the wiki's todo list, I have been > > looking into: "Allow to_date () and to_timestamp () to accept > > localized month names". > > I have gone through a second take on this, trying to give it a better > shape but it would surely benefit from some review, so I will open an > item in the commitfest.
I'm confused why we acquire the MONTH_DIM / etc definitions. Can't we just use lengthof() of the corresponding array? AFAICS it should work just as well. I wonder if the "compare first char" thing (seq_search_localized) really works when there are multibyte chars in the day/month names. I think the code compares just the first char ... but what if the original string uses those funny Unicode non-normalized letters and the locale translation uses normalized letters? My guess is that the first-char comparison will fail, but surely you'll want the name to match. (There's no month/day name in Spanish that doesn't start with an ASCII letter, but I bet there are some in other languages.) I think the localized comparison should avoid the first-char optimization, just compare the whole string all the time, and avoid possible weird issues. But then, I'm not 100% sure of this code. formatting.c is madness distilled. Thanks, -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services