Re: Disabling case sensitivity
От | linux_211@hotmail.com (igor) |
---|---|
Тема | Re: Disabling case sensitivity |
Дата | |
Msg-id | ff6ce15e.0207101136.546ae812@posting.google.com обсуждение исходный текст |
Ответ на | Re: Disabling case sensitivity (Stephane Bortzmeyer <bortzmeyer@nic.fr>) |
Ответы |
Re: Disabling case sensitivity
Re: Disabling case sensitivity |
Список | 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 по дате отправления: