• Peter Eisentraut's avatar
    ICU support · eccfef81
    Peter Eisentraut authored
    Add a column collprovider to pg_collation that determines which library
    provides the collation data.  The existing choices are default and libc,
    and this adds an icu choice, which uses the ICU4C library.
    
    The pg_locale_t type is changed to a union that contains the
    provider-specific locale handles.  Users of locale information are
    changed to look into that struct for the appropriate handle to use.
    
    Also add a collversion column that records the version of the collation
    when it is created, and check at run time whether it is still the same.
    This detects potentially incompatible library upgrades that can corrupt
    indexes and other structures.  This is currently only supported by
    ICU-provided collations.
    
    initdb initializes the default collation set as before from the `locale
    -a` output but also adds all available ICU locales with a "-x-icu"
    appended.
    
    Currently, ICU-provided collations can only be explicitly named
    collations.  The global database locales are still always libc-provided.
    
    ICU support is enabled by configure --with-icu.
    Reviewed-by: default avatarThomas Munro <thomas.munro@enterprisedb.com>
    Reviewed-by: default avatarAndreas Karlsson <andreas@proxel.se>
    eccfef81
aclocal.m4 412 Bytes