Re: lower() for varchar data by creating an index - Mailing list pgsql-sql

From Mitch Vincent
Subject Re: lower() for varchar data by creating an index
Date
Msg-id 00d901bfc00c$a3a36c00$4100000a@venux.net
Whole thread Raw
In response to lower() for varchar data by creating an index  (Alex Guryanow <gav@nlr.ru>)
Responses Re[2]: lower() for varchar data by creating an index  (Alex Guryanow <gav@nlr.ru>)
List pgsql-sql
CREATE function lower(varchar) returns text as 'lower' language 'internal'
with (iscachable);

It's a bit slower than if it was actually in the backend but it's a very
tiny difference. I spoke to Tom Lane about this, it's on the TODO list I
believe for 7.1. In the meantime the above will work great..


- Mitch

"The only real failure is quitting."


----- Original Message -----
From: Alex Guryanow <gav@nlr.ru>
To: <pgsql-sql@postgresql.org>
Sent: Wednesday, May 17, 2000 3:51 AM
Subject: [SQL] lower() for varchar data by creating an index


> Hi,
>
> I have a table called t1 with field f1 of type varchar(40):
>
>   CREATE TABLE t1 (f1 varchar(40));
>
> To make a case insensitive search I build the query like
>
>    SELECT f1 FROM t1 WHERE lower( f1 ) LIKE 'alex%';
>
> This works fine. But when I try to make an index to speed up the query
using the command
>
>      CREATE INDEX t1_f1_idx ON t1 (lower(f1));
>
> I receive the following error:
>
>   ERROR:  DefineIndex: function 'lower(varchar)' does not exist
>
> Why by executing the query the function 'lower(varchar)' exists and by
creating the index don't?
>
> I use Postgres 7.0.
>
> Best regards,
> Alex
>
>
>



pgsql-sql by date:

Previous
From: Brook Milligan
Date:
Subject: Re: question on update/delete rules on views
Next
From: Kyle Bateman
Date:
Subject: Re: question on update/delete rules on views