|Subject:||AW: [sdo] change summary.doc|
|From:||Barack, Ron (ron....@sap.com)|
|Date:||Jun 22, 2009 7:18:46 am|
I think your understanding of the proposal is correct.
I agree that it might seem odd that an object that is moved outside the scope of the change summary is rendered as a delete, but I don't think it's any odder for the proppsed definition of scope (ie, including orphanHolders) than for the 2.1 definition of scope. In other words, if C was previously contained by B, and then moved to A, then it would also be rendered in the CS as a delete. Does the behavior seem more incorrect for orphanHolders than it does for containment? In both cases, we have the same simple rule: anything that was in scope before, but is no longer is scope is rendered as a delete.
The trouble with restricting orphanHolders to root elements is that, effectively, it makes that scope of the change summary the entire graph, and I think, since CS has performance and memory costs, it would be better to be able to express the boundries, ie, that scope is not the entire graph.
I believe DataDirect has mentioned in the past the idea of using DataObject.delete() to determine which orphans should be rendered as being deleted, and which should be rendered as simply no longer being referenced. A similar API could be used for distinguishing orphans that should be rendered as created. The idea has some appeal, since removing a non-containment reference maybe should have different semantics that removing a containment reference (indeed, this is the case with 2.1). I'll leave it to them to provide details.
I guess we have something (besides headers) to discuss at tomorrows meeting ;-).
Still working though your ChangeSummary document. I have a question about the following use case:
A --containment--> B --non-containment--> C
From your document: If B has both a ChangeSummary and orphan property then C is in the scope of B's ChangeSummary.
Question: If a containment relationship forms between A & C then what is the impact on the ChangeSummary? Since C is no longer an orphan (A is its parent) and C is not reachable through B's containment tree it is no longer in the ChangeSummary's scope, but it seems incorrect to treat C as being removed.
Impact: Are orphan properties restricted to root objects? At least when ChangeSummary is involved?
Barack, Ron wrote:
As promised, here is some wording towards the resolution of issue 160. I'm using the document Bryan sent out as a resolution for 139 as the basis.
Section 4.3 is heavilly modified, and partially combined with section 6.4. Also chapter 11 has been extended.
Best Regards, Ron <<change summary_.doc>>
--------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. Follow this link to all your TCs in OASIS at: