"temporary invisible" object in database?!?
"temporary invisible" object in database?!?
- Subject: "temporary invisible" object in database?!?
- From: OC <email@hidden>
- Date: Fri, 23 Jan 2015 16:01:55 +0100
Hello there,
there's third weird problem in my current log -- I've got the EODatabaseContext delegate call databaseContextFailedToFetchObject; the arguments were
gid: _EOIntegralKeyGlobalID[DBAuction (java.lang.Integer)1000409]
object: <DBAuction@1174723668 PK:1000409 Title:'Dodávka plynu v rámci sdru?en?ch slu?eb dodávky plynu' /EC:165037464>
Actually I am sort of flabbergasted -- seems I do not get the databaseContextFailedToFetchObject delegate metod meaning; I thought it gets called when the target object is not available, and "object" contains a generated placeholder. Self evidently not -- DBAuction@1174723668 is the right and proper object with PK 1000409?!?
Why do I get databaseContextFailedToFetchObject?
Anyway, I return false from the databaseContextFailedToFetchObject delegate method, and saving did suceed. Shortly later though, in a subsequent R/R loop, I did *not* get the databaseContextFailedToFetchObject call, but instead an exception
===
Caused by: com.webobjects.eoaccess.EOObjectNotAvailableException: prepareForSaveWithCoordinator: Cannot save the object with globalID _EOIntegralKeyGlobalID[DBAuction (java.lang.Integer)1000409]. The row referenced by this globalID was missing from the database at the time a fetch was attempted. Either it was removed from the database after this application got a pointer to it, or there is a referential integrity problem with your database. To be notified when fetches fail, implement a delegate on EODatabaseContext that responds to databaseContextFailedToFetchObject().
at com.webobjects.eoaccess.EODatabaseContext.prepareForSaveWithCoordinator(EODatabaseContext.java:5657)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:370)
at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1179)
at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1102)
...
===
Now, I am pretty sure that the database row did exist all the time -- it does exist in the DB now. Its creation date (which I set up in awakeFromInsertion) is the original one. There were successful UPDATEs before (a number of them) AND one later, too! There's no DELETE at all.
Note: this auction is the very one which failed to lock (see please my mail "locking with more coordinators causes an exception?" above). Nevertheless, after the fail-to-lock and before this problem there was a couple of successful UPDATEs on the object, so it does not seem the fail-to-lock would be the culprit.
Does anybody see any method in this madness?
Thanks a lot,
OC
_______________________________________________
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