From 2c321ceaa904eb2722050abd35bf4eaea434c8b5 Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Fri, 29 Dec 2023 11:26:10 -0800 Subject: [PATCH] Fix collate.windows.win1252 test. Do not rely on the OS recognizing a particular locale; find the right locale by querying the "en_US" collation. Author: Alexander Lakhin Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/ae73f6f5-8221-c112-4640-5cda812a69de@gmail.com --- src/test/regress/expected/collate.windows.win1252.out | 8 +++++++- src/test/regress/sql/collate.windows.win1252.sql | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/test/regress/expected/collate.windows.win1252.out b/src/test/regress/expected/collate.windows.win1252.out index b7b93959de..d99ba22431 100644 --- a/src/test/regress/expected/collate.windows.win1252.out +++ b/src/test/regress/expected/collate.windows.win1252.out @@ -992,7 +992,13 @@ drop type textrange_c; drop type textrange_en_us; -- nondeterministic collations -- (not supported with libc provider) -CREATE COLLATION ctest_det (locale = 'en_US', deterministic = true); +do $$ +BEGIN + EXECUTE 'CREATE COLLATION ctest_det (locale = ' || + quote_literal((SELECT collcollate FROM pg_collation WHERE + collname = 'en_US')) || ', deterministic = true);'; + END +$$; CREATE COLLATION ctest_nondet (locale = 'en_US', deterministic = false); ERROR: nondeterministic collations not supported with this provider -- cleanup diff --git a/src/test/regress/sql/collate.windows.win1252.sql b/src/test/regress/sql/collate.windows.win1252.sql index 353d769a5b..c7d6c97db1 100644 --- a/src/test/regress/sql/collate.windows.win1252.sql +++ b/src/test/regress/sql/collate.windows.win1252.sql @@ -400,8 +400,13 @@ drop type textrange_en_us; -- nondeterministic collations -- (not supported with libc provider) - -CREATE COLLATION ctest_det (locale = 'en_US', deterministic = true); +do $$ +BEGIN + EXECUTE 'CREATE COLLATION ctest_det (locale = ' || + quote_literal((SELECT collcollate FROM pg_collation WHERE + collname = 'en_US')) || ', deterministic = true);'; + END +$$; CREATE COLLATION ctest_nondet (locale = 'en_US', deterministic = false);