Re: Possibly a bug

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: surya poondla <suryapoondla4(at)gmail(dot)com>
Cc: Анатолий <anatoly(at)email(dot)su>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Possibly a bug
Date: 2026-02-10 02:11:04
Message-ID: CACJufxEQNSkZWRoTUGX+y9xBUJZyxrFkoxdeHR7siaPL_LLh1Q@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

hi.

I further simplified your test case.

create or replace function to_upper_first(param1 text, param2 text)
returns text as $$
select upper(param1) || '_'
$$ language sql;

select to_upper_first('тест', 'a'::text);
select to_upper_first('тест', 'a'::text collate "default");
select to_upper_first('тест', 'a'::text collate "C");
select to_upper_first('тест', current_user);
select to_upper_first('тест', user::text);
select to_upper_first('тест', current_database()::text);
select to_upper_first('тест', current_schema()::text);
select to_upper_first('тест', current_schemas(true)::text);

These current.* functions always use the "C" collation for their
output, so in this case, they are not related to session variables, in
my view.

essentially, i think, your question is about the difference of
select to_upper_first('тест', 'a'::text);
and
select to_upper_first('тест', 'a'::text collate "C");

you may also see.
https://git.postgresql.org/cgit/postgresql.git/tree/src/test/regress/expected/collate.icu.utf8.out#n896

--
jian
https://www.enterprisedb.com/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Ishan joshi 2026-02-10 04:22:28 Re: BUG #19396: Standby and DR site replication broken with PANIC: WAL contains references to invalid pages messge
Previous Message Fujii Masao 2026-02-10 01:23:02 Re: basic_archive lost archive_directory