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      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to