----- Original Message -----
From: Sean Legassick <[EMAIL PROTECTED]>
To: Turbine <[EMAIL PROTECTED]>
Sent: Tuesday, June 06, 2000 8:20 PM
Subject: Re: BasePeer Problem
> On Tue, Jun 06, 2000 at 11:10:40AM -0700, John McNally wrote:
> > Can you add a DB method ignoreCaseInOrderBy() similar to toUpperCase()?
And
> > copy the code in the other DB adaptors from toUpperCase to
> > ignoreCaseInOrderBy().
>
> That sounds like the right solution to me...like what I was suggesting
> to replace toUpperCase for case sensitivity in general - the problem
> with toUpperCase is that converting to upper case is a specific
> implementation of a solution to a more general problem - an adaptor
> interface like DB should contain expressions of intent, not expressions
> of specific solutions.
>
> So DB should have:
>
> ignoreCase()
> respectCase() (which for MySQL adds a 'BINARY' prefix to an expression)
> ignoreCaseInOrderBy()
> respectCaseInOrderBy()
>
> and perhaps others?
>
> If you are going to follow John's suggestion Leon, perhaps you could
> look at adding all these?
>
I'd be happy to.
If it is ok with everybody I'll add the following methods to DB (and
subclasses)
ignoreCase()
respectCase() (which for MySQL adds a 'BINARY' prefix to an expression)
ignoreCaseInOrderBy()
respectCaseInOrderBy()
I think ignoreCase() and respectCase() should be abstract but
ignoreCaseInOrderBy() and respectCaseInOrderBy() should by default only call
ignoreCase() and respectCase() respectively. The need for a separate case
in Order By will probably not arise to often, and implementations that need
this can only override them. Any comments?
Might also be worthwhile to have a short tutorial of adding new databases
(i.e. subclassing DB), that explains this (and other) issues. If I can find
the time I'll do a quick first draft of one :-)
Regards
Leon
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]