Hi!

On 2010/07/19, at 14:04, Paulo Andrade wrote:

> You have two threads (T1 and T2) each with their own managed object context 
> (moc1 and moc2) which use the same persistent store coordinator.
> 
> 1 - T1 reads ObjectX
> <the snapshot for ObjectX is created>
> 2 - T2 reads ObjectX
> 3 - T1 makes some changes to ObjectX
> 4 - T2 makes some other changes to ObjectX and saves
> < at this point the snapshot should be updated >
> 5 - T1 tries to save
> 
> 
> I'm expecting a conflict after point 5. But what does Core Data use to know 
> this? If the snapshot is updated with the new value at step 4, the snapshot 
> values are equal to what is on the persistent store. 

  That is an interesting question. I've always been "curious" about this issue 
in Core Data's big brother, EOF. In the situation you describe, EOF would *not* 
report a conflict (wrongly, in my opinion, although this has been a theme for 
debate in the WebObjects lists) because the snapshot would already be updated. 
It ends up being easier to detect conflicts between different application 
instances than between threads of the same instance.

  Now, if Core Data also doesn't report any conflict, it means it works just 
like EOF. However, if it DOES report a conflict, I'm also very interested in 
knowing how CoreData implements this mechanism.

  Regards,

Miguel Arroz_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to