Next in thread → Next in month →

Re: [sdo] ISSUE 165: Define behavior of DataObject.delete wrt ChangeSummary

From
Blaise Doughan <>
Date
2009-09-17T12:46:56+00:00
ID
Thread
Re: [sdo] ISSUE 165: Define behavior of DataObject.delete wrt ChangeSummary
Hi Ron,

Based on the following statement, I never interpreted this as a means
of implementing a pool of DataObjects, rather I took it to mean that I
can put this deleted object back in the graph and it is now a modified
rather than a deleted object (it maintains its object identity).  In
other words a deleted object is not a dead object.

"A deleted DataObject can be used again, have
its values
set, and again be added into the data graph."

If this statement was removed, does that mean we
need to guard against deleted objects being put back in the graph? 
Possibly throwing an exception, this would be a backwards compatibility
issue.

-Blaise

Barack, Ron wrote:

  
  

  
  
    
    
      

        RAISED BY: Ron 

        

ChangeSummary is defined as a diff between the state of the graph when
beginLogging was called, and the state when endLogging was called. The
API used to modify the graph does not enter into the the definition.
        

        

Users that call DataObject.delete expect for the object to be
represented in the change summary as a deleted object. Usually, that is
what they get. But the description of the delete method seems to
suggest that delete is rather more intended for implementing
a pool of DataObjects, that are freed and later re-used in the graph.
If delete is used in this way, it is possible that the "deleted" object
appears as a modified object in the change summary.
        

        

PROPOSAL: 

The utility of implementing object pools is questionable to say the
least. It seems more reasonable to say that the delete method is
intended to indicate the object should be deleted...as opposed to
detach, which is a step towards moving the object. 
      

    
  
  
 

  
http://www.osoa.org/jira/browse/SDO-165
Next in thread → Next in month →