Re: [PROPOSAL] Skip test citext_utf8 on Windows

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Oleg Tselebrovskiy <o(dot)tselebrovskiy(at)postgrespro(dot)ru>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PROPOSAL] Skip test citext_utf8 on Windows
Date: 2024-03-13 00:26:38
Message-ID: ba53fc2d-21b5-50a3-38c9-fe7fbd086c16@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 2024-03-11 Mo 22:50, Thomas Munro wrote:
> On Tue, Mar 12, 2024 at 2:56 PM Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>> On 2024-03-11 Mo 04:21, Oleg Tselebrovskiy wrote:
>>> Greetings, everyone!
>>>
>>> While running "installchecks" on databases with UTF-8 encoding the test
>>> citext_utf8 fails because of Turkish dotted I like this:
>>>
>>> SELECT 'i'::citext = 'İ'::citext AS t;
>>> t
>>> ---
>>> - t
>>> + f
>>> (1 row)
>>>
>>> I tried to replicate the test's results by hand and with any collation
>>> that I tried (including --locale="Turkish") this test failed
>>>
>>> Also an interesing result of my tesing. If you initialize you DB
>>> with -E utf-8 --locale="Turkish" and then run select LOWER('İ');
>>> the output will be this:
>>> lower
>>> -------
>>> İ
>>> (1 row)
>>>
>>> Which I find strange since lower() uses collation that was passed
>>> (default in this case but still)
>> Wouldn't we be better off finding a Windows fix for this, instead of
>> sweeping it under the rug?
> Given the sorry state of our Windows locale support, I've started
> wondering about deleting it and telling users to adopt our nascent
> built-in support or ICU[1].
>
> This other thread [2] says the sorting is intransitive so I don't
> think it really meets our needs anyway.
>
> [1] https://www.postgresql.org/message-id/flat/CA%2BhUKGJhV__g_TJ0jVqPbnTuqT%2B%2BM6KFv2wj%2B9AV-cABNCXN6Q%40mail.gmail.com#bc35c0b88962ff8c24c27aecc1bca72e
> [2] https://www.postgresql.org/message-id/flat/1407a2c0-062b-4e4c-b728-438fdff5cb07%40manitou-mail.org

Makes more sense than just hacking the tests to avoid running them on
Windows. (I also didn't much like doing it by parsing the version
string, although I know there's at least one precedent for doing that.)

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2024-03-13 00:38:43 Re: Support json_errdetail in FRONTEND builds
Previous Message Alexander Korotkov 2024-03-13 00:23:27 Re: Transaction timeout