Re: Disabling case sensitivity - Mailing list pgsql-general

From linux_211@hotmail.com (igor)
Subject Re: Disabling case sensitivity
Date
Msg-id ff6ce15e.0207101136.546ae812@posting.google.com
Whole thread Raw
In response to Re: Disabling case sensitivity  (Stephane Bortzmeyer <bortzmeyer@nic.fr>)
Responses Re: Disabling case sensitivity
Re: Disabling case sensitivity
List pgsql-general
> > Can't you use something like
> >
> > SELECT from table where tolower(username)='good';
>
> If you want sometimes case-sensitive comparison and sometimes not, it
> is a good solution (the PostgreSQL extension ILIKE is another). But if
> you want to "disable case-sensitivity", you risk that some
> applications forget the call to tolower(). Therefore, I prefer to
> create a trigger which will force the field to lowercase before
> INSERTing it. (The problem of my solution is that it is no longer
> case-preserving.)
>
> CREATE FUNCTION force_lower_case() RETURNS OPAQUE
>    AS 'BEGIN
>           NEW.name = lower(NEW.name);
>           RETURN NEW;
>        END;'
>      LANGUAGE PLPGSQL;
>
> -- Domain names are only in US-ASCII (so no locale problems) and are
> -- case-insensitive. If you want to record the original case, add a
> -- new field.
> CREATE TRIGGER force_lower_case
>    BEFORE INSERT ON Domains
>    FOR EACH ROW
>    EXECUTE PROCEDURE force_lower_case();
>
This is not gonna to work for me. I can't to use ILIKE or something
like that because the program is already written ,and I can't change
the code. There must to be some way how to completely disable all
case-sensitivity from the server without change the code, no?

pgsql-general by date:

Previous
From: sarah.fraser@cnet.com (builder)
Date:
Subject: MySQL vs. PostgreSQL
Next
From: Arjen van der Meijden
Date:
Subject: Re: Linux max on shared buffers?