Re: Fix database creation during installchecks for ICU cluster - Mailing list pgsql-hackers

From vignesh C
Subject Re: Fix database creation during installchecks for ICU cluster
Date
Msg-id CALDaNm23gCULuEH4wFgpYaAKzcceK8_Kmswki=seOkMXx3RcJA@mail.gmail.com
Whole thread Raw
In response to Re: Fix database creation during installchecks for ICU cluster  (vignesh C <vignesh21@gmail.com>)
List pgsql-hackers
On Tue, 17 Jan 2023 at 17:17, vignesh C <vignesh21@gmail.com> wrote:
>
> On Tue, 29 Nov 2022 at 20:24, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:
> >
> > Hi,
> >
> > Thanks for the patch!
> >
> >
> > On 10/29/22 12:54, Marina Polyakova wrote:
> > >
> > > 1) The ECPG tests fail because they use the SQL_ASCII encoding [2],
> > > the database template0 uses the ICU locale provider and SQL_ASCII is
> > > not supported by ICU:
> > >
> > > $ make -C src/interfaces/ecpg/ installcheck
> > > ...
> > > ============== creating database "ecpg1_regression" ==============
> > > ERROR:  encoding "SQL_ASCII" is not supported with ICU provider
> > > ERROR:  database "ecpg1_regression" does not exist
> > > command failed: "/home/marina/postgresql/master/my/inst/bin/psql" -X
> > > -c "CREATE DATABASE \"ecpg1_regression\" TEMPLATE=template0
> > > ENCODING='SQL_ASCII'" -c "ALTER DATABASE \"ecpg1_regression\" SET
> > > lc_messages TO 'C';ALTER DATABASE \"ecpg1_regression\" SET lc_monetary
> > > TO 'C';ALTER DATABASE \"ecpg1_regression\" SET lc_numeric TO 'C';ALTER
> > > DATABASE \"ecpg1_regression\" SET lc_time TO 'C';ALTER DATABASE
> > > \"ecpg1_regression\" SET bytea_output TO 'hex';ALTER DATABASE
> > > \"ecpg1_regression\" SET timezone_abbreviations TO 'Default';" "postgres"
> > >
> >
> > I can confirm that same error happens on my end and your patch fixes the
> > issue. But, do ECPG tests really require SQL_ASCII encoding? I removed
> > ECPG tests' encoding line [1], rebuilt it and 'make -C
> > src/interfaces/ecpg/ installcheck' passed without applying your patch.
> >
> >
> > >
> > > 2) The option --no-locale in pg_regress is described as "use C locale"
> > > [3]. But in this case the created databases actually use the ICU
> > > locale provider with the ICU cluster locale from template0 (see
> > > diff_check_backend_used_provider.txt):
> > >
> > > $ make NO_LOCALE=1 installcheck
> >
> >
> > This works on my end without applying your patch. Commands I used are:
> >
> > $ ./configure --with-icu --prefix=$PWD/build_dir
> > $ make && make install && export PATH=$PWD/build_dir/bin:$PATH
> > $ initdb --locale-provider icu --icu-locale en-US -D data && pg_ctl -D
> > data -l logfile start
> > $ make NO_LOCALE=1 installcheck
>
> Hi Marina Polyakova,
>
> Since it is working without your patch, Is this patch required for any
> other scenarios?

There has been no updates on this thread for some time, so this has
been switched as Returned with Feedback. Feel free to open it in the
next commitfest if you plan to continue on this.

Regards,
Vignesh



pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: vacuumlo: add test to vacuumlo for test coverage
Next
From: Dagfinn Ilmari Mannsåker
Date:
Subject: Re: Clarify deleting comments and security labels in synopsis