Re: [PATCHES] character type value is not padded with spaces

From: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
To: y-asaba(at)sra(dot)co(dot)jp
Cc: pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCHES] character type value is not padded with spaces
Date: 2005-05-23 22:51:42
Message-ID: 20050524.075142.116347070.t-ishii@sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Hackers,

The problem he found is not only existing in Japanese characters but
also in any multibyte encodings including UTF-8. For me the patch
looks good and I will commit it to 7.3, 7.4, 8.0 stables and current
if there's no objection.
--
Tatsuo Ishii

> Character type value including multibyte characters is not padded
> with spaces. It reproduces at 7.3.x, 7.4.x and 8.0.x.
>
> create table t (a char(10));
> insert into t values ('XXXXX'); -- X is 2byte character.
>
> I expect that 'XXXXX ' is inserted. But 'XXXXX' is inserted.
>
> select a, octed_length(a) from t;
>
> a | octet_length
> -------+--------------
> XXXXX | 10
>
> If padded with spaces, octet_length(a) is 15. This problem is caused
> that string length is calculated by byte length(VARSIZE) in
> exprTypmod().
>
> I attache the patch for this problem.
>
> Regards,
>
> --
> Yoshiyuki Asaba
> y-asaba(at)sra(dot)co(dot)jp

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message John Hansen 2005-05-23 23:05:34 Re: [PATCHES] character type value is not padded with spaces
Previous Message Sander Steffann 2005-05-23 20:37:18 Re: inet increment w/ int8

Browse pgsql-patches by date

  From Date Subject
Next Message John Hansen 2005-05-23 23:05:34 Re: [PATCHES] character type value is not padded with spaces
Previous Message Andrew Dunstan 2005-05-23 22:16:28 plperl tests for currently untested features