You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Jeremy Boynes <jb...@apache.org> on 2005/03/03 18:53:37 UTC
Case Sensitivity
This is a subject that keeps coming up on the mailing lists so is
probably worth addressing.
One challenge we face is that many users are likely to be considering
Derby as an alternative to MySQL which by default uses a
case-insensitive collation. This is legal SQL, just different from most
other databases (Oracle, DB2, SQL Server (which actually allows you to
choose when you create the database)).
The standard way of solving this would be to support user-specified
character sets and collations per the spec but
1) that's likely to be a lot of work
2) I don't know of another database that actually does this the way
the spec says, making us "different", and
3) it is likely to be more confusing than helpful
Other options include:
a) support collation specification at the schema level like SQL Server
b) support function-based indexes, so users can create indexes
on UPPER(col) to reduce the performance hit
c) just document and offer workarounds (like adding a second column)
d) change Derby to be like MySQL (gets a -1 from me but ...)
Thoughts?
--
Jeremy
Re: Case Sensitivity
Posted by Satheesh Bandaram <sa...@Sourcery.Org>.
I personally like the functional indexes. I think they are useful for
all cases where querries have expressions in predicates.
Satheesh
Jeremy Boynes wrote:
> This is a subject that keeps coming up on the mailing lists so is
> probably worth addressing.
>
> One challenge we face is that many users are likely to be considering
> Derby as an alternative to MySQL which by default uses a
> case-insensitive collation. This is legal SQL, just different from
> most other databases (Oracle, DB2, SQL Server (which actually allows
> you to choose when you create the database)).
>
> The standard way of solving this would be to support user-specified
> character sets and collations per the spec but
> 1) that's likely to be a lot of work
> 2) I don't know of another database that actually does this the way
> the spec says, making us "different", and
> 3) it is likely to be more confusing than helpful
>
> Other options include:
> a) support collation specification at the schema level like SQL Server
> b) support function-based indexes, so users can create indexes
> on UPPER(col) to reduce the performance hit
> c) just document and offer workarounds (like adding a second column)
> d) change Derby to be like MySQL (gets a -1 from me but ...)
>
> Thoughts?
> --
> Jeremy
>
>
>