[ZODB-Dev] OID length

Tim Peters tim at zope.com
Fri Dec 9 15:20:15 EST 2005


[Shane Hathaway]
> FWIW: Ape still uses variable length strings.

That's OK!

> 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
_were_ integers:

    http://www.python.org/~jeremy/weblog/030423.html

> 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.



More information about the ZODB-Dev mailing list