[ZODB-Dev] connection.sync() kills _p_changed?

Christian Robottom Reis kiko@async.com.br
Fri, 13 Jul 2001 14:49:34 -0300 (BRT)


On Fri, 13 Jul 2001, Greg Ward wrote:

> On 13 July 2001, Christian Robottom Reis said:
> > Yeah, I now see you're right: the thing is I store my object's data in
> > GtkEntries, so the data is actually there even if it isn't in my object at
> > that moment. When I finally commit() data is pulled from the entries and
> > the object is refilled with the changed values. Pretty crazy, yeah.
>
> Then I just have to ask: why are you even bothering with ZODB?  If you
> want to do persistence explicitly, Robin Dunn's bsddb3 is just fine, and
> it's a lot easier to wrap your head around than ZODB.

This is one type of object in a very large set. I have a collection of
persistent domain objects, each arranged in it's own catalog and providing
references to a whole set of others. The ZODB gives me what I want -
distributed data through the ZEO, transparent persistence, transactions.
And it allows me to go and implement another set of interfaces and not
worry about persistence semantics all over again.

If I had to home-cool a bsddb3 persistence solution, I'm sure it would be
a big headache, and would hardly look as solid as the ZODB. Besides, there
wouldn't be Greg Ward around to give me a hand while I was at it :-) So
bear with me for a bit, I'm a fast learner when I'm at it.

> (OK, OK, there's more to ZODB than implicit persistence.  But that's
> what it really all boils down to -- the ability to save/load objects
> without having to explicitly say, "Here, save this object now" or "Go
> load that object from the database for me", I mean -- isn't it?)

Yes, it is. However, there's a bit of trickery here. I'm using a graphical
client, and I've come to see that graphical interfaces represent another
sort of 'Impedance Mismatch' to my application classes. So not everything
runs as smoothly as I'd like. For example: the interface holds data as
well, and I have to copy data back and forth from it. That wouldn't be so
bad if there weren't dialogs, warnings and multiple pages in notebooks to
take care of. My problem isn't _that_ trivial, but it's almost ready.
I'll drop a note when it is.

Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311