Re: [GENERAL] char(xx) problem

selkovjr@mcs.anl.gov

From: "Gene Selkov, Jr." <selkovjr@mcs.anl.gov>
To: "Nikolay Mijaylov" <nmmm@nmmm.nu>
Cc: "pgsql-general" <pgsql-general@postgreSQL.org>
Date: 1999-12-17T02:02:45Z
Lists: pgsql-general
> Hi
> we have two servers with installed Linux and PostGreSQL. They are quite
> same. One is for development (Linux 2.2.9; 128 MB RAM; very overloaded with
> processes), another for real HTTP serving in Internet (Linux 2.2.9; 64 MB
> RAM; only http and pgsql)
> 
> In one of projects we had two tables:
> 
> create table a(
>     x char(2)
> );
> 
> create table b(
>     y char(3)
> );
> 
> When we try to execute SQL like this:
> 
> select * from a, b
> where a.x = b.y;
> 
> one of servers selects 5-6 records (e.g. all mached records)
> another selects empty table.
> 
> The database is one and same.

What are the versions of pg?

I have similar experience. I used to routinely join on char() and
text, or on char() attributes of different length. Can't do that
anymore. Not sure when the change occurred -- some time between 6.3
and 6.5. The problem is I beleive related to blank padding: it formerly
showed through only in selects, now it affects comparison as well.

I'm just wondering: are there any alternatives to blank padding? Why
is it done in the first place?

--Gene