Search Postgresql Archives

Re: [pgsql-advocacy] Oracle buys Innobase

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Guy Rouillier" <guyr@xxxxxxxxxxx> writes:

> Doug Quale wrote:
>> 
>> # select 'a'::char(8) = 'a '::char(8);
>>  ?column?
>> ----------
>>  t
>> (1 row)
>> 
>> Trailing blanks aren't significant in fixed-length strings, so the
>> question is whether Postgresql treats comparison of varchars right. 
>
> This result is being misinterpreted.   
>
> select length('a'::char(8)) ==> 1
> select length('a '::char(8)) ==> 1
>
> So it isn't that the two different strings are comparing equal.  The
> process of casting them to char(8) is trimming the blanks, so by the
> time they become fixed length strings, they are indeed equal.

Huh??? What version of PG are you using?  On 7.4.9,


test=# select length('a'::char(8));
 length 
--------
      8
(1 row)

test=# select length('a '::char(8));
 length 
--------
      8
(1 row)

The truncation you describe would simply be wrong.

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux