| Summary: | After refresh/PU, object's state is represented by 2 identical revisions | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Caspar D. <caspar_d> | ||||||
| Component: | cdo.core | Assignee: | Caspar D. <caspar_d> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | saulius.tvarijonas, stepper | ||||||
| Version: | 4.0 | Flags: | stepper:
review+
|
||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Caspar D.
Note that I'm talking about a clean object here. In general, I think it should hold for clean objects that if obj.cdoRevision() returns rev, then rev == revMgr.getRevisionByVersion(rev.getID(), rev, 0, false); If this doesn't hold (as my forthcoming testcase will demonstrate), then the rev in the revMgr is a waste of memory. Created attachment 190248 [details]
Testcase (as a patch)
I wonder if this can even be harmful when the only immutability of a revision kicks in: setRevised(long) Created attachment 190726 [details]
Patch v1
IMO the state machine needs to get out of the delta-application
business. This patch arranges that.
Committed revision 7428. Available in R20110608-1407 |