| From: | Gaetano Mendola <mendola(at)bigfoot(dot)com> |
|---|---|
| To: | Christian Enklaar <christian(dot)enklaar(at)mbs-software(dot)de> |
| Subject: | Re: Comparing a varchar of length > 32 |
| Date: | 2004-09-23 19:15:38 |
| Message-ID: | 415320DA.4040106@bigfoot.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2004-09-23 19:22:09 | Re: Comparing a varchar of length > 32 |
| Previous Message | Christian Enklaar | 2004-09-23 18:45:32 | Comparing a varchar of length > 32 |