> 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,
A cautionary tale about getting "too fancy" with oids ;-)
> so now OIDs are usually ASCII representations of integers.
In which case a lovely irony is that we'd probably save memory if oids
> Also, Ape assigns its own OID for the root object; '\0' * 8 is not a
> special OID in Ape.
Then it doesn't implement IPersistent, and will be shot <wink>.
> It can do this because it has to provide its own DB and Connection
> objects anyway.
I trust that's for more reasons than _just_ because it doesn't want to use
'\0'*8 as the root-object oid.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org