Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOOkT-00089m-Vb for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2020 16:49:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jOOkS-0003ce-Pe for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Apr 2020 16:49:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOOkS-0003cX-FK for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2020 16:49:20 +0000 Received: from post.visena.com ([46.226.10.50]) by makus.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.92) (envelope-from ) id 1jOOkM-0001EH-4L for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2020 16:49:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=visena.com; s=20141101.wh; h=Content-Type:MIME-Version:Subject:Message-ID:To:From:Date; bh=a8Ch0ZbokyD97wPBejsgGujvDh/CQFISnGxZuEhQKEg=; b=LQDFOSOSmIguwjybnyQcSLlFB++0I8U2XGB8JPJgPA+3X3u3+Vu0zPClGlAR8M+dA+HIZ4ypCmvvvf4ES/k2QtkI7gLU5Z9lDY8/dNl3OmSJ15mh9VzF1twB6tFlIHIbeAOkXV2i5Uc6pOryxk52dJwRDaHJgnS0eKvQ0SLm9OY=; Received: from [10.0.1.10] (helo=tc7-visena.wh.internal.visena.com) by post.visena.com with esmtp (Exim 4.82) (envelope-from ) id 1jOOkJ-0004E5-7W for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2020 18:49:11 +0200 Received: from localhost ([127.0.0.1] helo=tc7-visena.wh.internal.visena.com) by tc7-visena.wh.internal.visena.com with esmtp (Exim 4.90_1) (envelope-from ) id 1jOOkJ-0001Aw-5l for pgsql-hackers@lists.postgresql.org; Tue, 14 Apr 2020 18:49:11 +0200 Date: Tue, 14 Apr 2020 18:49:11 +0200 (CEST) From: Andreas Joseph Krogh To: pgsql-hackers@lists.postgresql.org Message-ID: Subject: ERROR: could not determine which collation to use for string comparison MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_578_1054717012.1586882951116" X-Mailer: Visena Mail 2.2.280-SNAPSHOT List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk ------=_Part_578_1054717012.1586882951116 Content-Type: multipart/related; boundary="----=_Part_579_1283860181.1586882951116" ------=_Part_579_1283860181.1586882951116 Content-Type: multipart/alternative; boundary="----=_Part_580_1003040861.1586882951129" ------=_Part_580_1003040861.1586882951129 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Guys; This errors out with: ERROR: could not determine which collation to use for string comparison HINT: Use the COLLATE clause to set the collation explicitly. The database is init'ed with: initdb -D $PGDATA -E utf8 --locale=nb_NO.UTF-8 13-dev HEAD as of 8128b0c152a67917535f50738ac26da4f984ddd9 Works fine in <= 12 =========================== create table person( id serial primary key, firstname varchar, lastname varchar );insert into person(firstname, lastname) values ('Andreas', 'Krogh'); CREATE OR REPLACE FUNCTIONconcat_lower(varchar, varchar) RETURNS varchar AS $$ SELECT nullif(lower(coalesce($1, '')) || lower(coalesce($2, '')), '') $$ LANGUAGE SQL IMMUTABLE; select * from person pers ORDER BY concat_lower(pers.firstname, pers.lastname)ASC; =========================== -- Andreas Joseph Krogh ------=_Part_580_1003040861.1586882951129 Content-Type: text/html;charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Guys; This errors out with:
=C2=A0
ERROR: =C2=A0could not determine which collation to use for string com= parison
HINT: =C2=A0Use the COLLATE clause to set the collation explicitly.
<= br> =C2=A0
=C2=A0
The database is init'ed with:
initdb -D $PGDATA -E utf8 --locale=3Dnb_NO.UTF-8
=C2=A0
13-dev HEAD as of=C2=A08128b0c152a67917535f50738ac26da4f984ddd9
=C2=A0
Works fine in <=3D 12
=C2=A0
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
create table person(
    id serial pri=
mary key,
    firstname var=
char,
    lastname varc=
har
);

insert into person(f=
irstname, lastname) values ('Andreas', CREATE OR REPLACE=
 FUNCTION concat_lower(varchar, varchar) RETURNS varchar AS
$$
SELECT nullif(lower(coalesce($1, '')) || lower(coalesce($2, '')), =
'')
$$ LANGUAGE SQL
    IMMUTA=
BLE;

select * <=
span style=3D"color: rgb(0, 0, 128); font-weight: bold;">from person pers ORDER BY concat_lower(pers.firstname, pers.las=
tname) ASC=
;
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
=C2=A0
">
--
Andreas Joseph Krogh
------=_Part_580_1003040861.1586882951129-- ------=_Part_579_1283860181.1586882951116-- ------=_Part_578_1054717012.1586882951116--