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 [2008-11-6 14:53:51 GMT] <WorkerThread0> com.webobjects.eoaccess.EOGeneralAdaptorException: lockRowComparingAttributes -- com.webobjects.jdbcadaptor.JDBCChannel: lock operation locked more than one row at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4504) at com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6216) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376) at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
Console - Without Optimistic Locking: [2008-11-6 14:52:2 GMT] <WorkerThread0> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception occurred while handling request: com.webobjects.eoaccess.EOGeneralAdaptorException: updateStatementForRow: qualifier may not be null [2008-11-6 14:52:2 GMT] <WorkerThread0> com.webobjects.eoaccess.EOGeneralAdaptorException: updateStatementForRow: qualifier may not be null at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4504) at com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6216) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376) at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
Thanks and kindest regards,
-- a frustrated Tim
|