Re: BUG #6480: NLS text width problem - Mailing list pgsql-bugs

From Sergey Burladyan
Subject Re: BUG #6480: NLS text width problem
Date
Msg-id 87obsq4sus.fsf@home.progtech.ru
Whole thread Raw
In response to BUG #6480: NLS text width problem  (eshkinkot@gmail.com)
Responses Re: BUG #6480: NLS text width problem
List pgsql-bugs
eshkinkot@gmail.com writes:

> The following bug has been logged on the website:
>
> Bug reference:      6480
> Logged by:          Sergey Burladyan
> Email address:      eshkinkot@gmail.com
> PostgreSQL version: 9.1.2
> Operating system:   Debian testing
> Description:=20=20=20=20=20=20=20=20
>
> This code incorrectly calculate width for translated text if it multibyte
> string. strlen(ct) vs. UTF-8
>
> src/bin/psql/describe.c:2100

Test case:

create table t ();
create table t_1 () inherits (t);
create table t_2 () inherits (t);
create table d () inherits (t_1, t_2);

\d+ t
\d+ d

                 Table "public.t"
 Column | Type | Modifiers | Storage | Description=20
--------+------+-----------+---------+-------------
Child tables: t_1,
              t_2
Has OIDs: no

                 Table "public.d"
 Column | Type | Modifiers | Storage | Description=20
--------+------+-----------+---------+-------------
Inherits: t_1,
          t_2
Has OIDs: no

English, correct indentation:
. . .
Child tables: t_1,
              t_2
. . .
Inherits: t_1,
          t_2

Russian (UTF-8), wrong indentation:

                 =D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0 "public.t"
 =D0=9A=D0=BE=D0=BB=D0=BE=D0=BD=D0=BA=D0=B0 | =D0=A2=D0=B8=D0=BF | =D0=9C=
=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=D1=8B | =D0=A5=
=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B5 | =D0=9E=D0=BF=D0=B8=D1=81=
=D0=B0=D0=BD=D0=B8=D0=B5=20
---------+-----+--------------+-----------+----------
=D0=94=D0=BE=D1=87=D0=B5=D1=80=D0=BD=D0=B8=D0=B5 =D1=82=D0=B0=D0=B1=D0=BB=
=D0=B8=D1=86=D1=8B: t_1,
                                 t_2
=D0=A1=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D1=82 OID: =D0=BD=D0=B5=D1=82


                 =D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0 "public.d"
 =D0=9A=D0=BE=D0=BB=D0=BE=D0=BD=D0=BA=D0=B0 | =D0=A2=D0=B8=D0=BF | =D0=9C=
=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=D1=8B | =D0=A5=
=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B5 | =D0=9E=D0=BF=D0=B8=D1=81=
=D0=B0=D0=BD=D0=B8=D0=B5=20
---------+-----+--------------+-----------+----------
=D0=9D=D0=B0=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D0=B5=D1=82: t_1,
                    t_2
=D0=A1=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D1=82 OID: =D0=BD=D0=B5=D1=82

--=20
Sergey Burladyan

pgsql-bugs by date:

Previous
From: eshkinkot@gmail.com
Date:
Subject: BUG #6480: NLS text width problem
Next
From: kouber@saparev.com
Date:
Subject: BUG #6483: Rows being evaluated, although being outside the LIMIT / OFFSET boundaries