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
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 |
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 |