Re: Order changes in PG16 since ICU introduction

From: Sandro Santilli <strk(at)kbt(dot)io>
To: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Regina Obe <lr(at)pcorp(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Jeff Davis <pgsql(at)j-davis(dot)com>
Subject: Re: Order changes in PG16 since ICU introduction
Date: 2023-04-21 19:14:13
Message-ID: ZELghcKLLjyvGSDc@hst.kbt.io
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Apr 21, 2023 at 07:14:13PM +0200, Peter Eisentraut wrote:
> On 21.04.23 19:09, Sandro Santilli wrote:
> > On Fri, Apr 21, 2023 at 11:48:51AM -0400, Tom Lane wrote:
> > > "Regina Obe" <lr(at)pcorp(dot)us> writes:
> > >
> > > > https://trac.osgeo.org/postgis/ticket/5375
> > >
> > > If they actually are using locale C, I would say this is a bug.
> > > That should designate memcmp sorting and nothing else.
> >
> > Sounds like a bug to me. This is happening with a PostgreSQL cluster
> > created and served by a build of commit c04c6c5d6f :
> >
> > =# select version();
> > PostgreSQL 16devel on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
> > =# show lc_collate;
> > C
> > =# select '+' < '-';
> > f
>
> If the database is created with locale provider ICU, then lc_collate does
> not apply here, so the result might be correct (depending on what locale you
> have set).

The database is created by a perl script which starts like this:

$ENV{"LC_ALL"} = "C";
$ENV{"LANG"} = "C";

And then runs:

createdb --encoding=UTF-8 --template=template0 --lc-collate=C

Should we tweak anything else to make the results predictable ?

--strk;

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2023-04-21 19:14:20 Re: Order changes in PG16 since ICU introduction
Previous Message Tom Lane 2023-04-21 18:23:45 Re: Order changes in PG16 since ICU introduction