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.santama...@gmail.com> Reviewed-by: Dmitry Koval <d.ko...@postgrespro.ru> Reviewed-by: Peter Eisentraut <peter.eisentr...@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/flat/0050ec23-34d9-2765-9015-98c04f0e1...@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(-)