• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
MySQLPlugIn.MySQLExpression bug?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MySQLPlugIn.MySQLExpression bug?


  • Subject: MySQLPlugIn.MySQLExpression bug?
  • From: Lachlan Deck <email@hidden>
  • Date: Mon, 6 Feb 2006 13:51:00 +1100

Hi all,

I've got some problems with the WO5.2.4 MySQLPlugIn it seems. I'm wondering if anyone else has come across them and what work-a-rounds were taken. Cheers.

-- Environment --
Deploying to WO5.2.4/MySQL 4.0.26

-- Verious Problems --
Building standard queries....

1)
NSMutableDictionary keyValues;
EOQualifier qualifier;
EOFetchSpecification fetchSpec;

NSMutableDictionary keyValues = new NSMutableDictionary();
keyValues.takeValueForKey( firstName(), FirstNameKey );
keyValues.takeValueForKey( lastName(), LastNameKey );
keyValues.takeValueForKey( email(), EmailKey );

qualifier = EOQualifier.qualifierToMatchAllValues( keyValues );
fetchSpec = new EOFetchSpecification( "Person", qualifier, null );

I get a JDBCAdaptorException: <com.webobjects.jdbcadaptor.MySQLPlugIn $MySQLExpression: "SELECT t0. FROM Person t0 WHERE (t0.email = ? AND t0.firstName = ? AND t0.lastName = ?" withBindings: 1:"email@hidden"(email), 2:"Bill"(firstName), 3:"Blog"(lastName)>:
Next exceptionSQL State:42000 -- error code: 1064 -- msg: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Student t0 WHERE (t0.email = 'email@hidden' AND t0.f


Any ideas?

2) Figuring there must be a bug with the adaptor I then try:
EOQualifier.qualifierWithQualifierFormat( "%@ = %@ caseInsensitiveLike %@ caseInsensitiveLike %@ AND %@ caseInsensitiveLike %@", new NSArray( new Object[] {
FirstNameKey, firstName(),
LastNameKey, lastName(),
EmailKey, email()
} ) );


But I get another JDBCAdaptorException: <com.webobjects.jdbcadaptor.MySQLPlugIn$MySQLExpression: "SELECT t0. FROM Person t0 WHERE (UPPER(t0.firstName) LIKE UPPER(?) ESCAPE '|' AND UPPER(to.lastName) LIKE UPPER(?) ESCAPE '|' AND UPPER(t0.email) LIKE UPPER(?) ESCAPE '|')" withBindings: 1: <..snip..>:
Next exception:SQL State:42000 -- error code: 1064 -- msg: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Person t0 WHERE (UPPER(t0.firstName) LIKE UPPER('Bill'


The only thing that works is:
StringBuffer format = new StringBuffer();
format.append( FirstNameKey + " caseInsensitiveLike %@" );
format.append( " " + LastNameKey + " caseInsensitiveLike %@" );
format.append( " " + EmailKey + " caseInsensitiveLike %@" );
EOQualifier.qualifierWithQualifierFormat( format.toString(), new NSArray( new Object[] {
firstName(),
lastName(),
email()
} ) );


Any ideas?

with regards,
--

Lachlan Deck


Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Re: Chart with WebObjects
  • Next by Date: multi user increment
  • Previous by thread: Re: Help: How to use WOPopupButton
  • Next by thread: Re: MySQLPlugIn.MySQLExpression bug?
  • Index(es):
    • Date
    • Thread