Yeap, seems reasonable.

Tim.

On Wed, Mar 06, 2002 at 04:49:58PM -0800, Jeff Zucker wrote:
> Tim Bunce wrote:
> > 
> > On Wed, Mar 06, 2002 at 03:04:51PM -0800, Jeff Zucker wrote:
> >
> > > It's from the PDF of SQL92 I purchased from www.ansi.org.  But here's
> > > the text:
> > >
> > >   13)
> > >   A <regular identifier> and a <delimited identifier> are equiva-
> > >   lent if the <identifier body> of the <regular identifier> (with
> > >   every letter that is a lower-case letter replaced by the equiva-
> > >   lent upper-case letter or letters) and the <delimited identifier
> > >   body> of the <delimited identifier> (with all occurrences of
> > >   <quote> replaced by <quote symbol> and all occurrences of <dou-
> > >   blequote symbol> replaced by <double quote>), considered as
> > >   the repetition of a <character string literal> that specifies a
> > >   <character set specification> of SQL_TEXT and an implementation-
> > >   defined collation that is sensitive to case, compare equally
> > >   according to the comparison rules in Subclause 8.2, "<comparison
> > >   predicate>".
> > >
> >
> > Perhaps, but the paragraph above seems too daft to be worth living with :)
> 
> Aha, you know what, I think I just figured out why it isn't daft and why
> your suggestion to use mixed case matching (BooB = "BooB") can't work:
> 
> Rule A - Regular identifiers are case INSENSITIVE
> Rule B - Delimited identifiers are case SENSITIVE
> 
> Therefore, these are the same as each other:
> 
>    x1 boob
>    x2 BooB
>    x3 BOOB
> 
> And these are different from each other:
> 
>    y1 "boob"
>    y2 "BooB"
>    y3 "BOOB"
> 
> If we allow group x to be equivalent to group y on the basis of mixed
> case, then we'd end up either with the three identifiers in group x
> different from each other (a violation of rule A) or the 3 identifiers
> in group y as the same as each other (a violation of rule B).  So we can
> never use mixed case to determiine the equivalence.  So we have to
> arbitrarily say that x1,x2,x3 as a group are all equal to one and only
> one of group y, either the lower case or the upper case.  The standards
> says that would be upper case to avoid confusion.
> 
> So, not so daft after all?
> 
> -- 
> Jeff

Reply via email to