On Tue, 11 Nov 2003, Rajesh Kumar Mallah wrote:

> Hmmm... am i doing anything really silly?

Functional indexes on 7.3 and earlier only allow a function over one or
more columns (which would disallow the below as a function over a function
over a column).  The usual workaround would be to make an immutable
function that does both functions on its argument something like:

create function lower_btrim(text) returns text as 'select
lower(btrim($1));' language 'sql' immutable;
create index profile_master2 on profile_master(lower_btrim(email));

In 7.4 I believe the below should work.

> tradein_clients=# CREATE INDEX profile_master2 on profile_master (lower( 
> btrim(email) ) );
> ERROR:  parser: parse error at or near "(" at character 61

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to