[Seaside] Persistent object framework

Avi Bryant avi at beta4.com
Fri May 14 02:48:24 CEST 2004


On May 13, 2004, at 8:04 AM, C. David Shaffer wrote:

> Rather than having to tell the index to "update" why not have a two 
> phase commit in KKRecordCache>>commitObject:?  You could send 
> "goodsAboutToCommit" to all dirty objects and then you could have a 
> default impl to update all indices.  Then you'd have to make a second 
> pass to ensure that all of the dirty objects are really being 
> committed.  I have some OmniBase code which does this kind of thing.  
> I was fairly minimal but it did avoid updating indices when the "key" 
> didn't change.  If you don't see any problems with this then I'll 
> bring it over to Squeak and rework it for GOODS.

Sounds good, though I'm concerned about performance with the two pass 
commit.  GOODS does a full pass through any loaded objects to check 
them for changes; this is the main cost for a commit, and doubling it 
would be bad.  We only really want the second pass to look at the index 
objects, but how do we restrict it to that without really ugly special 
casing?

Avi



More information about the Seaside mailing list