[ZODB-Dev] Re: [Zope-Checkins] CVS: ZODB3/ZODB - Connection.py:1.88 DB.py:1.48 cPickleCache.c:1.81

Jeremy Hylton jeremy@zope.com
09 Apr 2003 10:54:01 -0400


On Wed, 2003-04-09 at 03:16, Toby Dickenson wrote:
> On Tuesday 08 April 2003 4:56 pm, Jeremy Hylton wrote:
> 
> > +        # XXX It sucks that we have to hold the lock to read
> > +        # _invalidated.  Normally, _invalidated is written by call
> > +        # dict.update, which will execute atomically by virtue of the
> > +        # GIL.  But some storage might generate oids where hash or
> > +        # compare invokes Python code.  In that case, the GIL can't
> > +        # save us.
> 
> Other parts of ZODB already assume that oids are plain strings. I think we 
> discussed this for AdaptableStorage. Does that simplify things?

It does simplify things.  Are we sure that we believe that?  I remember
fixing some code that assumed oids were 8-byte strings.  I can't recall
anything in the connection-cache layer that expects them to be strings
specifically.

Jeremy