• Robert Haas's avatar
    Disable abbreviated keys for string-sorting in non-C locales. · 3df9c374
    Robert Haas authored
    Unfortunately, every version of glibc thus far tested has bugs whereby
    strcoll() ordering does not match strxfrm() ordering as required by
    the standard.  This can result in, for example, corrupted indexes.
    Disabling abbreviated keys in these cases slows down non-C-collation
    string sorting considerably, but there seems to be no practical
    alternative.  Users who are confident that their libc implementations
    are solid in this regard can re-enable the optimization by compiling
    with TRUST_STRXFRM.
    
    Users who have built indexes using PostgreSQL 9.5 or PostgreSQL 9.5.1
    should REINDEX if there is a possibility that they may have been
    affected by this problem.
    
    Report by Marc-Olaf Jaschke.  Investigation mostly by Tom Lane, with
    help from Peter Geoghegan, Noah Misch, Stephen Frost, and me.  Patch
    by me, reviewed by Peter Geoghegan and Tom Lane.
    3df9c374
varlena.c 133 KB