[Zope-Coders] FYI: 2.6 a1 today

Jeremy Hylton jeremy@zope.com
Fri, 14 Jun 2002 16:23:19 -0400


>>>>> "SH" == Shane Hathaway <shane@zope.com> writes:

  SH> If you just remove the _p_oid assertion in Connection.register()
  SH> (line 490, I think), all the tests, including the BTrees tests,

It doesn't affect the BTrees tests.  If they pass for you, I think it
just means that you haven't rebuilt your .so files lately :-).

  SH> pass again.  But I wonder if that causes None to get passed to
  SH> invalidate() like we were seeing before.  I thought removing the
  SH> _p_oid assertion in register would cause some other assertion in
  SH> Connection to fail, but it didn't.  Can you make sense of that?

There's another assertion that prevents None from being passed to
invalidate().  If it did get passed, invalidate() would raise a
TypeError.

I can't make complete sense of the behavior with assertion removed.  I
assume that once the _p_jar is set, the next persistent operation is a
commit() which reassigns _p_jar and _p_oid when it discovers the new
persistent object.  Plan B -- the object never gets committed, so the
_p_jar never enters into it again.

There can't be any functional reason to set _p_jar at this point, but
I'll disable the assert for now.

Jeremy