postgres.git / summary / log / commit / refs

commit    e52a44b8a4c11bc10685162e8e638357c01b9dc4
Author:   Thomas Munro <tmunro@postgresql.org>
Date:     Sun May 12 19:55:20 2024 +0000
First released in: 15.8, 16.4

    Skip citext_utf8 test on Windows.
    
    Back-patch of commit cff4e5a3 to 15 and 16, per request from Oleg
    Tselebrovskiy.  Original commit message:
    
    On other Windows build farm animals it is already skipped because they
    don't use UTF-8 encoding.  On "hamerkop", UTF-8 is used, and then the
    test fails.
    
    It is not clear to me (a non-Windows person looking only at buildfarm
    evidence) whether Windows is less sophisticated than other OSes and
    doesn't know how to downcase Turkish İ with the standard Unicode
    database, or if it is more sophisticated than other systems and uses
    locale-specific behavior like ICU does.
    
    Whichever the reason, the result is the same: we need to skip the test
    on Windows, just as we already do for ICU, at least until a
    Windows-savvy developer comes up with a better idea.  The technique for
    detecting the OS is borrowed from collate.windows.win1252.sql.
    
    This was anticipated by commit c2e8bd27, but the problem only surfaced
    when Windows build farm animals started using Meson.
    
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    Discussion: https://postgr.es/m/CA%2BhUKGJ1LeC3aE2qQYTK95rFVON3ZVoTQpTKJqxkHdtEyawH4A%40mail.gmail.com


contrib/citext/expected/citext_utf8.out | 1 + contrib/citext/expected/citext_utf8_1.out | 1 + contrib/citext/sql/citext_utf8.sql | 1 + 3 files changed, 3 insertions(+) diff --git a/contrib/citext/expected/citext_utf8.out b/contrib/citext/expected/citext_utf8.out index 666b07ccec4..3159f238dd3 100644 --- a/contrib/citext/expected/citext_utf8.out +++ b/contrib/citext/expected/citext_utf8.out @@ -3,6 +3,7 @@ * and a Unicode-aware locale. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test diff --git a/contrib/citext/expected/citext_utf8_1.out b/contrib/citext/expected/citext_utf8_1.out index 433e9853497..d47836b2286 100644 --- a/contrib/citext/expected/citext_utf8_1.out +++ b/contrib/citext/expected/citext_utf8_1.out @@ -3,6 +3,7 @@ * and a Unicode-aware locale. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test diff --git a/contrib/citext/sql/citext_utf8.sql b/contrib/citext/sql/citext_utf8.sql index d068000b423..fc5da4e8beb 100644 --- a/contrib/citext/sql/citext_utf8.sql +++ b/contrib/citext/sql/citext_utf8.sql @@ -4,6 +4,7 @@ */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test [parent: d7bc9c9d04ad]