On Mon, Jun 05, 2000 at 11:59:13AM -0700, John McNally wrote:
> Upper() does not belong in SQLExpression.  It is not a standard SQL function
> (MySQL may not include it).  

MySQL does include it, but the wrinkle is that it always does
case-insensitive string matching, unless you use a 'BINARY' cast (ugh!).

But you are right, as far as I can tell (I *really* *wish* that ANSI and
ISO would publish their standards online) UPPER is non-standard.

> I moved the code to generate this into the db
> adaptors, so that a db specific function could be called, if available.  I
> should have made the change here, but overlooked it.  And it hasn't bitten
> me yet, so I still have not fixed it.  If you are altering SQLExpression
> please make use of the db adaptor method.

Okay, but given the above about MySQL the DB adaptor interface needs to
be more general so it can cope with MySQL. Something like
wrapForCaseInsensitive and wrapForCaseSensitive.

And that's going to break anyone relying on BasePeer being
case-insensitive on MySQL whether the flag is set in Criteria or not.

But it should be sorted out, so I'll look at making these alterations
and report back before comitting anything.

(can worms <mutter> <mutter> :-) )

-- 
Sean Legassick
[EMAIL PROTECTED]


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to