Windows support in pg_import_system_collations
Windows can enumerate the locales that are either installed or
supported by calling EnumSystemLocalesEx(), similar to what is already
done in the READ_LOCALE_A_OUTPUT switch. We can refactor some of the
logic already used in that switch into a new function
create_collation_from_locale().
The enumerated locales have BCP 47 shape, that is with a hyphen
between language and territory, instead of POSIX's underscore. The
created collations will retain the BCP 47 shape, but we will also
create a POSIX alias, so xx-YY will have an xx_YY alias.
A new test collate.windows.win1252 is added that is like
collate.linux.utf8.
Author: Juan Jose Santamaria Flecha <juanjo.santamaria@gmail.com>
Reviewed-by: Dmitry Koval <d.koval@postgrespro.ru>
Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Discussion: https://www.postgresql.org/message-id/flat/0050ec23-34d9-2765-9015-98c04f0e18ac@postgrespro.ru
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/bf03cfd162176d543da79f9398131abc251ddbb9
Modified Files
--------------
src/backend/commands/collationcmds.c | 237 ++++-
.../regress/expected/collate.windows.win1252.out | 1024 ++++++++++++++++++++
.../regress/expected/collate.windows.win1252_1.out | 13 +
src/test/regress/parallel_schedule | 2 +-
src/test/regress/sql/collate.windows.win1252.sql | 423 ++++++++
src/tools/msvc/vcregress.pl | 3 +-
6 files changed, 1650 insertions(+), 52 deletions(-)