>>> 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.
> It's for uniformity. In Ape, the strategy for choosing OIDs is
> pluggable, and the plugin that chooses OIDs has the opportunity to choose
> the root OID. Otherwise the root OID would be a special case that every
> OID chooser would have to be aware of.
> However, I wouldn't have gone to this effort if it weren't so easy.
> There's very little code that cares what the root OID is.
I meant I hoped that you went to the bother of providing your own
implementations of DB and Connection for more reasons than just because the
ZODB DB and Connection implementations have a few lines special-casing z64.
Or maybe that's what you were addressing ... in which case I'm glad it was
very easy to write your own DB and Connection ;-)
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org