Tim Peters wrote:
Some "auxiliary" code would definitely break if they weren't strings.  For
example, ZEO cache tracing has its own trace-file format, which originally
blew up left and right when Shane tried to use it with APE.  That got
generalized (and, alas, the trace files got bigger) to live with APE's (at
the time) variable-length string oids, but was not generalized to live with
non-string oids.

FWIW: Ape still uses variable length strings. The OIDs shrank in size because they used to contain the object's "physical path", but that turned out to play bad tricks with copy/paste, so now OIDs are usually ASCII representations of integers.

Also, Ape assigns its own OID for the root object; '\0' * 8 is not a special OID in Ape. It can do this because it has to provide its own DB and Connection objects anyway.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to