Re: ICU warnings during make installcheck and text_extensions test

From: Oleg Tselebrovskiy <o(dot)tselebrovskiy(at)postgrespro(dot)ru>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: ICU warnings during make installcheck and text_extensions test
Date: 2025-07-29 09:45:25
Message-ID: 4558b0faefa97cb7c2e989086f9b8e2a@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alexander Korotkov wrote at 2025-07-28 20:04:
> Hi, Oleg!
>
> Thank you for raising this issue. I don't think ignoring a warning is
> an option. The tests contain locale-sensitive orderings. Thus, if we
> don't manage to create a C-like locale, tests fail anyway for me.
> Ignoring tests is an unfavorable solution.
>
> I see two (better) options to resolve this issue:
> 1) Specify LOCALE_PROVIDER='builtin' in the CREATE DATABASE command.
> 2) Specify 'en-US-u-va-posix' as a locale name when template0 has an
> ICU locale provider.
>
> The #1 looks simpler. The patch is attached. What do you think?
>
> ------
> Regards,
> Alexander Korotkov
> Supabase

Thanks for your response!

Your patch works with REL_17 & master, but not with REL_16, since there
is no builtin provider

So if we're going that route, for PostgreSQL 16 and older we could just
use libc provider instead of builtin for the same effect (see attached)

I've run installcheck-world for both 'builtin' and 'libc', both seem to
work fine

Dunno what about tests like collate.icu.utf8.sql that require icu
databases to run. Will those tests be run if we force non-icu locale
providers in pg_regress? We probaly want them to be run sometimes,
right? Except this, LGTM

Regards, Oleg Tselebrovskiy

Attachment Content-Type Size
pg_regress_locale_provider_pg16.patch text/x-diff 806 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2025-07-29 09:46:12 Re: C11 / VS 2019
Previous Message Alexander Korotkov 2025-07-29 09:38:22 Re: Add SPLIT PARTITION/MERGE PARTITIONS commands