Greetings, everyone!
While running "installchecks" on databases with UTF-8 encoding the test
citext_utf8 fails because of Turkish dotted I like this:
SELECT 'i'::citext = 'İ'::citext AS t;
t
---
- t
+ f
(1 row)
I tried to replicate the test's results by hand and with any collation
that I tried (including --locale="Turkish") this test failed
Also an interesing result of my tesing. If you initialize you DB
with -E utf-8 --locale="Turkish" and then run select LOWER('İ');
the output will be this:
lower
-------
İ
(1 row)
Which I find strange since lower() uses collation that was passed
(default in this case but still)
My PostgreSQL version is this:
postgres=# select version();
version
----------------------------------------------------------------------
PostgreSQL 17devel on x86_64-windows, compiled by gcc-13.1.0, 64-bit
The proposed patch for skipping test is attached
Oleg Tselebrovskiy, Postgres Pro
ÿþd i f f - - g i t a / c o n t r i b / c i t e x t / e x p e c t e d / c i t e x t _ u t f 8 . o u t b / c o n t r i b / c i t e x t / e x p e c t e d / c i t e x t _ u t f 8 . o u t
i n d e x 5 d 9 8 8 d c d 4 8 5 . . 6 c 4 0 6 9 f 9 4 6 9 1 0 0 6 4 4
- - - a / c o n t r i b / c i t e x t / e x p e c t e d / c i t e x t _ u t f 8 . o u t
+ + + b / c o n t r i b / c i t e x t / e x p e c t e d / c i t e x t _ u t f 8 . o u t
@ @ - 1 0 , 7 + 1 0 , 8 @ @
S E L E C T g e t d a t a b a s e e n c o d i n g ( ) <