[ZODB-Dev] How to avoid shooting my foot

Jeff Bauer jbauer@rubic.com
Sun, 06 Oct 2002 16:59:13 -0500


I haven't looked at ZODB (Stand Alone) in almost a year,
but I'm eagerly searching for a nail to pound with this
hammer.

Since other users have had more experience with ZODB,
I'd like to get feedback about a particular issue.
In the early days of Bobo, you'd get bit *once* by
leaving out a docstring, or with Python, by using a
list as a default argument.  But once stung with either
of these two bugaboos, they were relatively easy to
avoid henceforth.

In ZODB it is necessary to manually mark modified 
objects when objects attributes are modfied in place 
(e.g. lists and dicts).

Q1: Is this a "real world" problem that bites people
in the buttocks?

Q2: Is it usually easy to figure out when it happens,
or is the problem difficult to track?  (If the latter,
any war stories would be appreciated.)

Q3: Aside from the Java-style accessor methods technique
described in Andrew's "ZODB & ZEO Introduction", are
there any other rituals you use to avoid neglecting
to use _p_changed?

Q4: (Bonus points)  Does anyone here use the Java-style
accessor method (or Andrew's PersistentList class) for
their ZODB applications?

Many thanks for your shared thoughts.

Jeff Bauer
Rubicon Research