| Summary: | CDONotificationBuilder cannot handle mixed OID's/CDOObjects when processing CDOClearFeatureDelta | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Caspar D. <caspar_d> | ||||||
| Component: | cdo.core | Assignee: | Eike Stepper <stepper> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | saulius.tvarijonas | ||||||
| Version: | 3.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Caspar D.
Created attachment 173394 [details]
Testcase (as a patch)
Testcase demonstrates how the problem can occur during refresh,
if the list being clear locally had a new element that had not
been committed yet.
I have a fix in mind... I'm thinking there may be a deeper problem here. It seems a CDOClearFeatureDelta is generated if the incoming update removes all *persisted* elements of the list. So the mistake, as I see it, is that the delta is generated from a comparison between the new revision (from the server) and the revision that was originally viewed in the client -- but actually it should be between the new revision and the lists's *current* value (which may contain new, unpersisted elements). Created attachment 173397 [details]
Fix and Test v1
Committed to R3_0_maintenance Moving all open problem reports to 4.0 Undoing accidental version change. Closing. |