[Dev] repository changes

Andi Vajda vajda at osafoundation.org
Fri Apr 9 12:32:59 PDT 2004


I just checked in changes that require:

  - a rebuild of the UUIDext extension
  - a re-creation of your repository (the format of the repository changed)

To rebuilt UUIDext:

 - cd chandler/Chandler/repository
 - ../../../hardhat/hardhat.py -cb

These changes add a name store to the repository. The name store's job is to
return a UUID, given a name in the context of another UUID. This has two
immediate applications:

  - finding the UUID of a child item, given its name and its parent's UUID.
    This makes find by path considerably faster as it no longer involves a
    dbxml query followed by unsorted version sifting (with hand parsing XML).
    Find by path now involves a name lookup followed by find by UUID.
    I believe this improvement should address the find-by-path concerns voiced
    during the recent data model meeting.

  - the so far ill documented ref aliasing feature can now be documented and
    used more widely as it is implemented in a scalable way. A ref alias is a
    name by which a reference can be looked up in a ref collection. The ref
    alias is specific to the ref and the collection it is stored in, eg, a
    ref can have different aliases in different collections. The name store
    returns the UUID of the key of the ref in the ref collection give its
    alias and the UUID of the ref collection.

All unit tests pass, Chandler runs fine.
If I broke anything, let me know.

Thanks !

Andi..



More information about the Dev mailing list