Re: Fix database creation during installchecks for ICU cluster
От | Nazir Bilal Yavuz |
---|---|
Тема | Re: Fix database creation during installchecks for ICU cluster |
Дата | |
Msg-id | e949472f-7eea-62d1-a393-db78377fd66e@gmail.com обсуждение исходный текст |
Ответ на | Fix database creation during installchecks for ICU cluster (Marina Polyakova <m.polyakova@postgrespro.ru>) |
Ответы |
Re: Fix database creation during installchecks for ICU cluster
|
Список | pgsql-hackers |
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 [1] https://github.com/postgres/postgres/blob/ce20f8b9f4354b46b40fd6ebf7ce5c37d08747e0/src/interfaces/ecpg/test/Makefile#L18 Regards, Nazir Bilal Yavuz
В списке pgsql-hackers по дате отправления: