pgsql: Windows support in pg_import_system_collations

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Windows support in pg_import_system_collations
Date: 2023-01-03 13:29:42
Message-ID: E1pChMM-001qDm-BY@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(dot)santamaria(at)gmail(dot)com>
Reviewed-by: Dmitry Koval <d(dot)koval(at)postgrespro(dot)ru>
Reviewed-by: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/0050ec23-34d9-2765-9015-98c04f0e18ac(at)postgrespro(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2023-01-03 18:09:49 pgsql: Refine the definition of page-level freezing.
Previous Message Michael Paquier 2023-01-03 07:27:38 pgsql: Fix typos in comments, code and documentation