On Tuesday 11 Nov 2003 2:00 pm, Stephan Szabo wrote:
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));
Thanks for the work around
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
Yes it does work
template1=# CREATE INDEX profile_master2 on t_a(lower(btrim(email)));
CREATE INDEX
template1=#
template1=# CREATE unique INDEX profile_master3 on t_a(lower(btrim(email)));
CREATE INDEX
template1=#
Regds
Mallah.
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster