Hi again Phil,

Great, your patch is doing exactly what I had in mind!
The only thing missing (you mentioned it already) is detection of removed
references.
These won't handled properly.

So the real thing would keep the original envelope.getObject()
in the envelope and merge all changes from the objectToRegister
into it. 
During this merge you can detect
- all things that remain unchanged
- all things modified
- all things to be deleted

the ObjectEnvelopes of the respective item must be marked accordingly to
perform the right actions on commit.

cheers,
Thomas

> -----Original Message-----
> From: Phil Warrick [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 27, 2003 8:54 PM
> To: OJB Users List
> Subject: Re: long transactions
> 
> 
> Hi again,
> 
> >> Right, write conflicts are detected with OL.  But will there be an 
> >> efficient merge of the updated graph?  
> > 
> > 
> > No.
> > 
> >> Say only one of the graph's n objects was modified. Is 
> OJB's use of 
> >> its cache going to compare the before/after status of each graph 
> >> object and perform a db update on only the one truly 
> changed object?
> >>
> > 
> > The PB does not track object state.
> > 
> > In ODMG there is a mechanism that tracks the object state during a 
> > transaction.
> > Have a look at the ObjectEnvelope class.
> > This mechanism could be modified with moderate effort to 
> perform the 
> > "swizzling" you'd like to see.
> > 
> > 
> >> Are we close to being a FAQ item?
> >>
> > 
> > I'd prefer a real solution instead of faq item :-)
> 
> I did modify the behaviour of the ObjectEnvelopeTable to do 
> what I think 
> that you are suggesting (at the time I could not conjugate 
> the verb "to 
> swizzle").  See
> 
> http://archives.apache.org/eyebrowse/ReadMsg?listName=ojb-user
@jakarta.apache.org&msgNo=4682

Is this something like what you had in mind?  Could this be generally 
useful?  I'd be happy to extend/modify it to fit in as best possible, 
but I'd need some feedback.

Phil


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to