Skip site navigation (1) Skip section navigation (2)

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

From: "John Hansen" <john(at)geeknet(dot)com(dot)au>
To: "Tatsuo Ishii" <t-ishii(at)sra(dot)co(dot)jp>
Cc: <y-asaba(at)sra(dot)co(dot)jp>, <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 23:29:01
Message-ID: 5066E5A966339E42AA04BA10BA706AE50A9327@rodrick.geeknet.com.au (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Ahhh... 

> -----Original Message-----
> From: Tatsuo Ishii [mailto:t-ishii(at)sra(dot)co(dot)jp] 
> Sent: Tuesday, May 24, 2005 9:26 AM
> To: John Hansen
> Cc: y-asaba(at)sra(dot)co(dot)jp; pgsql-patches(at)postgresql(dot)org; 
> pgsql-hackers(at)postgresql(dot)org
> Subject: Re: [PATCHES] character type value is not padded with spaces
> 
> I think you need to test with 5 characters, not 3.
> --
> Tatsuo Ishii
> 
> > Ahemm,...
> > 
> > UNICODE DB:
> > 
> > create table t (a char(10));
> > set client_encoding = iso88591;
> > insert into t VALUES ('æøå');
> > 
> > select a, octet_length(a),length(a) from t;
> >      a      | octet_length | length
> > ------------+--------------+--------
> >  æøå        |           13 |      3
> > (1 row)
> > 
> > This is with 8.0.2.
> > 
> > Just FYI.
> > 
> > ... John
> > 
> > > -----Original Message-----
> > > From: pgsql-patches-owner(at)postgresql(dot)org
> > > [mailto:pgsql-patches-owner(at)postgresql(dot)org] On Behalf Of Tatsuo 
> > > Ishii
> > > Sent: Tuesday, May 24, 2005 8:52 AM
> > > 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
> > > 
> > > 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
> > > 
> > > ---------------------------(end of
> > > broadcast)---------------------------
> > > TIP 2: you can get off all lists at once with the 
> unregister command
> > >     (send "unregister YourEmailAddressHere" to
> > > majordomo(at)postgresql(dot)org)
> > > 
> > > 
> > 
> 
> 

pgsql-hackers by date

Next:From: Marc G. FournierDate: 2005-05-24 00:40:36
Subject: Deadlocks in 7.4.x ...
Previous:From: Tatsuo IshiiDate: 2005-05-23 23:25:58
Subject: Re: [PATCHES] character type value is not padded with spaces

pgsql-patches by date

Next:From: Neil ConwayDate: 2005-05-24 00:30:06
Subject: Re: bugfix - contrib/pgbench
Previous:From: Tatsuo IshiiDate: 2005-05-23 23:25:58
Subject: Re: [PATCHES] character type value is not padded with spaces

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group