Re: pgsql: createdb: Fix quoting of --encoding, --lc-ctype and --lc-collate

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: createdb: Fix quoting of --encoding, --lc-ctype and --lc-collate
Дата
Msg-id 231373.1610058324@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql: createdb: Fix quoting of --encoding, --lc-ctype and--lc-collate  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: pgsql: createdb: Fix quoting of --encoding, --lc-ctype and --lc-collate
Список pgsql-committers
Michael Paquier <michael@paquier.xyz> writes:
> On Thu, Feb 27, 2020 at 02:11:12PM +0900, Michael Paquier wrote:
>> The best thing I can think of is just to remove the test case for
>> --lc-ctype.

> So, thinking about nothing better, I have just removed this test.

I just tried to run check-world on an OpenBSD 6.8 installation,
and look what I got:

t/020_createdb.pl ......... 14/19
#   Failed test 'createdb with incorrect --lc-collate stderr /(?^s:^createdb: error: database creation failed: ERROR:
invalidlocale name)/' 
#   at t/020_createdb.pl line 35.
#                   'createdb: error: database creation failed: ERROR:  new collation (foo'; SELECT '1) is incompatible
withthe collation of the template database (C) 
# HINT:  Use the same collation as in the template database, or use template0 as template.
# '
#     doesn't match '(?^s:^createdb: error: database creation failed: ERROR:  invalid locale name)'
# Looks like you failed 1 test of 19.
t/020_createdb.pl ......... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/19 subtests

So on this machine, setlocale() is lax about LC_COLLATE values as
well as (presumably) LC_CTYPE.  Question then becomes why we did
not notice for nearly a year.  It looks like, of the not-very-many
OpenBSD machines in the buildfarm, the only one running the TAP
tests is curculio, and that's running OpenBSD 5.9 which is quite old.
Comparing their setlocale(3) man pages for different versions, it
looks like the current verbiage appeared in 6.3; older versions
have text similar to other BSDen.  So it looks like they actually
ripped out a lot of locale functionality in 6.3.

It seems like (1) we need to drop the --lc-collate version of this
test too, or else adjust both tests to accept the error we get on
OpenBSD as well as the normal error; (2) somebody really ought to
crank up a modern OpenBSD critter that's running the TAP tests.

            regards, tom lane



В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Further second thoughts about idle_session_timeout patch.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Adjust createdb TAP tests to work on recent OpenBSD.