Re: Why is citext/regress failing on hamerkop?
Thomas Munro wrote 2024-05-12 06:31: Hamerkop is already green on the 15 and 16 branches, apparently because it's using the pre-meson test stuff that I guess just didn't run the relevant test. In other words, nobody would notice the difference anyway, and a master-only fix would be enough to end this 44-day red streak. Sorry for necroposting, but in our automated testing system we have found some fails of this test. The most recent one was a couple of days ago (see attached files) on PostgreSQL 15.7. Also I've reported this bug some time ago [1], but provided an example only for PostgreSQL 17. Back then the bug was actually found on 15 or 16 branches (no logs remain from couple of months back), but i wanted to show that it was reproducible on 17. I would appreciate if you would backpatch this change to 15 and 16 branches. [1] https://www.postgresql.org/message-id/6885a0b52d06f7e5910d2b6276bbb4e8%40postgrespro.ru Oleg Tselebrovskiy, Postgres ProThe files belonging to this database system will be owned by user "GitLabRunner". This user must also own the server process. The database cluster will be initialized with locale "English_United States.1252". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory C:/gr-builds/TaKFe3FF/2/pgpro-dev/postgrespro/ci_base ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... windows selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... Europe/Moscow creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok initdb: warning: enabling "trust" authentication for local connections initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D ^"C^:^\gr^-builds^\TaKFe3FF^\2^\pgpro^-dev^\postgrespro^\ci^_base^" -l logfile start 2024-07-29 14:41:21.649 MSK [14344] LOG: starting PostgreSQL 15.7, compiled by Visual C++ build 1929, 64-bit 2024-07-29 14:41:21.653 MSK [14344] LOG: listening on IPv6 address "::1", port 5432 2024-07-29 14:41:21.653 MSK [14344] LOG: listening on IPv4 address "127.0.0.1", port 5432 2024-07-29 14:41:21.697 MSK [8052] LOG: database system was shut down at 2024-07-29 14:41:17 MSK 2024-07-29 14:41:21.735 MSK [14344] LOG: database system is ready to accept connections 2024-07-29 14:41:22.859 MSK [9348] ERROR: tablespace location must be an absolute path 2024-07-29 14:41:22.859 MSK [9348] STATEMENT: CREATE TABLESPACE regress_tblspace LOCATION 'relative'; diff -w -U3 C:/gr-builds/TaKFe3FF/2/pgpro-dev/postgrespro/contrib/citext/expected/citext_utf8.out C:/gr-builds/TaKFe3FF/2/pgpro-dev/postgrespro/contrib/citext/results/citext_utf8.out --- C:/gr-builds/TaKFe3FF/2/pgpro-dev/postgrespro/contrib/citext/expected/citext_utf8.out 2024-07-29 13:53:45.259126600 +0300 +++ C:/gr-builds/TaKFe3FF/2/pgpro-dev/postgrespro/contrib/citext/results/citext_utf8.out 2024-07-29 14:43:38.772857200 +0300 @@ -54,7 +54,7 @@ SELECT 'i'::citext = 'Ä°'::citext AS t; t --- - t + f (1 row) -- Regression.
Re: [PROPOSAL] Skip test citext_utf8 on Windows
Michael Paquier писал(а) 2024-03-12 06:24: On Mon, Mar 11, 2024 at 03:21:11PM +0700, Oleg Tselebrovskiy wrote: The proposed patch for skipping test is attached Your attached patch seems to be in binary format. -- Michael Right, I had it saved in not-UTF-8 encoding. Kind of ironic Here's a fixed versiondiff --git a/contrib/citext/expected/citext_utf8.out b/contrib/citext/expected/citext_utf8.out index 5d988dcd485..6c4069f9469 100644 --- a/contrib/citext/expected/citext_utf8.out +++ b/contrib/citext/expected/citext_utf8.out @@ -10,7 +10,8 @@ SELECT getdatabaseencoding() <> 'UTF8' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database -WHERE datname=current_database()) +WHERE datname=current_database()) OR + (version() ~ 'windows' OR version() ~ 'Visual C\+\+' OR version() ~ 'mingw32') AS skip_test \gset \if :skip_test \quit diff --git a/contrib/citext/expected/citext_utf8_1.out b/contrib/citext/expected/citext_utf8_1.out index 7065a5da190..d4472b1c36a 100644 --- a/contrib/citext/expected/citext_utf8_1.out +++ b/contrib/citext/expected/citext_utf8_1.out @@ -10,7 +10,8 @@ SELECT getdatabaseencoding() <> 'UTF8' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database -WHERE datname=current_database()) +WHERE datname=current_database()) OR + (version() ~ 'windows' OR version() ~ 'Visual C\+\+' OR version() ~ 'mingw32') AS skip_test \gset \if :skip_test \quit diff --git a/contrib/citext/sql/citext_utf8.sql b/contrib/citext/sql/citext_utf8.sql index 34b232d64e2..53775cdcd35 100644 --- a/contrib/citext/sql/citext_utf8.sql +++ b/contrib/citext/sql/citext_utf8.sql @@ -11,7 +11,8 @@ SELECT getdatabaseencoding() <> 'UTF8' OR (SELECT (datlocprovider = 'c' AND datctype = 'C') OR datlocprovider = 'i' FROM pg_database -WHERE datname=current_database()) +WHERE datname=current_database()) OR + (version() ~ 'windows' OR version() ~ 'Visual C\+\+' OR version() ~ 'mingw32') AS skip_test \gset \if :skip_test \quit
[PROPOSAL] Skip test citext_utf8 on Windows
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 ( ) <