[ZODB-Dev] oids, numbers, hex and 8-byte strings

Tim Peters tim at zope.com
Thu Oct 27 17:13:13 EDT 2005


[Tim]
>> There is no inverse for oid_repr, and there isn't a need for one.
>>  For any 8-byte string oid S,
>>
>>     p64(int(oid_repr(S), 0)) == S
>>
>> so that's how to "get an inverse" of oid_repr if you really want one
>> (although I don't know why anyone would).

[Chris]
> ...'cos oid_repr is what gets used to log those "Shouldn't load state
> for" errors, so I needed to take something from oid_repr and trun it into
> something I could try and use with app._p_jar[...]

Confusing integers with strings.  Maybe you do see the 0x01 in

    Shouldn't load state for 0x01 when the connection is closed

as "a string" instead of as "an integer", but that can't be common.

>> +1 on better documention:  improve docstrings, add comments, add
>> overviews. If anyone's worried about it, adding comments does not
>> increase Python's runtime <wink>.

> Thanks, so trunk, and which branches again for this?

3.4 branch and 3.5 branch.  By this time next week, 3.6 branch may also
exist (and the trunk will then be for 3.7 development).  Under CVS,
Zope-2_7-branch (for the ZODB 3.2 line).  Only the ZODB 3.1 and 3.3 lines
are dead.  I don't see much point in bothering to change older lines myself;
e.g., ZODB 3.5 exists solely for the Zope 3.1 line (Zope 2.8 uses 3.4, and
Zopes 2.9 and 3.2 will use ZODB 3.6).



More information about the ZODB-Dev mailing list