From: | Rod Taylor <rbt(at)rbt(dot)ca> |
---|---|
To: | pgsql(at)mohawksoft(dot)com |
Cc: | m(at)mat(dot)cc, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Case insensitivity, and option? |
Date: | 2003-03-12 17:59:10 |
Message-ID: | 1047491946.55840.8.camel@jester |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2003-03-12 at 12:57, pgsql(at)mohawksoft(dot)com wrote:
> >
> >
> > --le 12/03/2003 09:03 -0500, mlw écrivait :
> > | I was at a client office reviewing some code. They use MSSQL and I |
> > noticed that:
> > |
> > | select * from table where field = 'blah';
> > | gave the same results as:
> > | select * from table where field = 'BLah';
> > |
> > | I was shocked. (a) because I know a lot of my code could be easier to
> > | write, and (b) that their code would break on every other database I
> > am | aware of. Does anyone know about this?
> > |
> > | Is it practical/desirable for PostgreSQL to have this as a
> > configuration | setting?
> >
> > Well, I quite don't see any difference with writing :
> >select * from table where lower(field) = lower('BLah');
>
> That would probably require an extra index, especially if 'field' is a
> primary key.
I don't know about MSSql, but on MySQL you also require a different
index for a case sensitive comparison. Problem is, they don't (didn't)
support functional indexes -- so you simply couldn't make one.
End up with: WHERE field = 'var' and strcasecmp(field, 'var') everywhere
--
Rod Taylor <rbt(at)rbt(dot)ca>
PGP Key: http://www.rbt.ca/rbtpub.asc
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2003-03-12 18:21:51 | Re: Roadmap for FE/BE protocol redesign |
Previous Message | pgsql | 2003-03-12 17:57:11 | Re: Case insensitivity, and option? |