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 <[email protected]> Reviewed-by: Dmitry Koval <[email protected]> Reviewed-by: Peter Eisentraut <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/[email protected] 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(-)
