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 по дате отправления: