Do we want Bugzilla to be case-sensitive or case-insensitive?

Nick Barnes Nick.Barnes at pobox.com
Thu Nov 3 11:42:15 UTC 2005


At 2005-11-03 01:14:41+0000, =?UTF-8?B?RnLDqWTDqXJpYyBCdWNsaW4=?= writes:
> >>Do we want Bugzilla to be case-sensitive or case-insensitive?
> > 
> > 
> > insensitive.
> 
> Forcing all comparisons to be case-insensitive would require to
> rewrite 98% of all SQL queries!! .... or to find another way to
> force Pg to be case-insensitive. But it appears that is *not*
> possible to change this behavior in PostgreSQL, at all.

What comparisons?  Most strings in Bugzilla are either:

1. free-form text (in shortdesc, longdesc, etc): to search this
   case-insensitively, use the case-insensitive operators (~*, ILIKE)
   or downcase before comparing: lower(mycol) = 'some value'.  If you
   are going to do lower(mycol) and want an index to help, it needs to
   be an expression index on the lower(mycol) expression.

2. drop-down fields, entered once by an administrator (or manager) and
   then selected from drop-downs.  Are these strings ever compared
   against anything else in subsequent operation?  In any case, force
   case-insensitive uniqueness on creation, either by searching for a
   match or by having a UNIQUE expression index on lower(mycol).

3. email addresses.  These should retain case (like
   'LpSolit at gmail.com') but we should reject case-duplicates on
   creation (In other words, as for #2).  Searching should use
   case-insensitive operators, as for #1.

> I don't know how Oracle behaves, though.

It's case-sensitive, with a variety of hacks (broadly similar to
PostgreSQL's, although uglier) to force insensitivity.  The brand new
Oracle 10gR2 release has some changes in this area.
<http://www.orafaq.com/node/91>

Nick B



More information about the developers mailing list