OS X 10.5.5
WebObjects 5.4.3
MySQL 5.1.26-rc - DB Storage Engine MyISAM
Java 1.5.0_16
I'm hoping that this is a fairly simple database/object model inconsistency - I've spent an alarming amount of time scratching my head, trying different things and trawling the 'net looking for a solution so any assistance or advice you can provide will be more than appreciated.
Any update or delete of any Enterprise Object in my model exceptions when I call saveChages() on my EOEditingContext. Initially I received a 'lock operation locked more than one row' exception - I have checked that I've not got anything crazy going on like two rows with the same primary key. Have tried taking taking optimistic locking off of the object's attributes I now get a 'qualifier may not be null' error.
Please help! Any suggestions as what could be causing this or tips to troubleshoot this better are welcomed.
Sample Code to Recreate Exceptions:
{
Session session = (Session) session();
EOEditingContext ec = session.defaultEditingContext();
DbTest dbObj = (DbTest) EOUtilities.objectMatchingKeyAndValue (ec, "Test", "priKey", 0);
dbObj.setFreeText("why does this not work - ARGH!");
ec.saveChanges(); /* This line throws the exception */
}
Console - With Optimistic Locking:
[2008-11-6 14:53:51 GMT] <WorkerThread0> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception occurred while handling request:
com.webobjects.eoaccess.EOGeneralAdaptorException: lockRowComparingAttributes -- com.webobjects.jdbcadaptor.JDBCChannel: lock operation locked more than one row