[ZODB-Dev] Re: [Zodb-checkins] SVN: ZODB/trunk/src/persistent/interfaces.py Nail the type of oids, as agreed ; -) to in

Jeremy Hylton jeremy at alum.mit.edu
Fri Dec 9 12:57:23 EST 2005


On 12/9/05, Tim Peters <tim.one at comcast.net> wrote:
> Log message for revision 40664:
>   Nail the type of oids, as agreed ;-) to in
>
>   http://mail.zope.org/pipermail/zodb-dev/2005-March/008593.html
>
>
> Changed:
>   U   ZODB/trunk/src/persistent/interfaces.py
>
> -=-
> Modified: ZODB/trunk/src/persistent/interfaces.py
> ===================================================================
> --- ZODB/trunk/src/persistent/interfaces.py     2005-12-09 16:04:25 UTC (rev 40663)
> +++ ZODB/trunk/src/persistent/interfaces.py     2005-12-09 16:19:03 UTC (rev 40664)
> @@ -167,7 +167,9 @@
>
>          It is up to the data manager to assign this.
>          The special value None is reserved to indicate that an object
> -        id has not been assigned.  Non-None object ids must be strings.
> +        id has not been assigned.  Non-None object ids must be non-empty
> +        strings.  The 8-byte string '\0'*8 (8 NUL bytes) is reserved to
> +        identify the database root object.

A minor point, but it seems like it would make more sense for the
storage to choose the id of the root object.  The database doesn't
actually care what the root is, so long as the storage can return it. 
You could add a ROOT_OID class attribute to a storage to distinguis
the value.

As I said, a minor point.  If the database doesn't care about the
details of oids, it seems to make more sense to have the storage be
responsible for all aspects of oids.

Jeremy


More information about the ZODB-Dev mailing list