• 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
"temporary invisible" object in database?!?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"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


  • Follow-Ups:
    • Re: "temporary invisible" object in database?!?
      • From: Chuck Hill <email@hidden>
  • Prev by Date: locking with more coordinators causes an exception?
  • Next by Date: build and install frameworks problem
  • Previous by thread: Re: locking with more coordinators causes an exception?
  • Next by thread: Re: "temporary invisible" object in database?!?
  • Index(es):
    • Date
    • Thread