Re: Comparing a varchar of length > 32 - Mailing list pgsql-general

From Gaetano Mendola
Subject Re: Comparing a varchar of length > 32
Date
Msg-id 415320DA.4040106@bigfoot.com
Whole thread Raw
In response to Comparing a varchar of length > 32  ("Christian Enklaar" <christian.enklaar@mbs-software.de>)
List pgsql-general
Christian Enklaar wrote:
> Hello,
>
> we are using a table with a primary key of type varchar[50].
> If we try to find entries with select * from <table> where <table.key> =
> '<text>';
> entries with a key length of more than 32 characters are not found.
> Entries with a shorter key are found. Using "Like" instead of "=" works for
> varchar keys with length > 32 as well.
>
> Does anybody know about this Problem ?
> (We use PostgresQL 7.4.1)
>

I think you are hiding some informations.

It works here with a 7.4.5 and I'm not aware of any bug like this in previous
versions.

test=# \d test
             Table "public.test"
  Column |         Type          | Modifiers
--------+-----------------------+-----------
  a      | character varying(50) | not null
Indexes:
     "test_pkey" primary key, btree (a)


test=# select a, length(a) from test;
                          a                          | length
----------------------------------------------------+--------
  01234567890123456789012345678901234567890123       |     44
  0123456789012345678901234567890123456789           |     40
  01234567890123456789012345678901234567890123456789 |     50
(3 rows)


test=# select length(a) from test where a = '01234567890123456789012345678901234567890123';
  length
--------
      44
(1 row)


Just an idea, could you reindex your table ?


Regards
Gaetano Mendola


pgsql-general by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Comparing a varchar of length > 32
Next
From: Karsten Hilbert
Date:
Subject: need "row number"