Folder Set Tags (HVS Tags)

All types of tags described in the previous section represent sets of IOVs in one folder. COOL supports tags also for folder sets, i.e. for containers of folders and folder sets: a folder set tag is a collection of tags of the contained folders and folder sets, such that for each child node only one tag (or none at all) belongs to the given tag of the parent folder set. This tagging mechanism establishes a hierarchy of tags over the hierarchy of nodes (folders and folder sets) in a COOL database. For this reason, this mechanism is referred to as the Hierarchical Versioning System (HVS) for COOL.

In the COOL relational schema, HVS tags and nodes and the relations between them are described by the TAGS, NODES and TAG2TAG global tables. These are referred to as "global" tables because they contain data for all folders and folder sets, in contrast to the "local" tables describing the IOVs and their tags in each folder.

The TAG2TAG table is the most important table of the HVS engine of COOL, as it stores the persistent associations between a child tag in a child node and a parent tag in a parent node. This is different from other versioning systems like CVS, where a tag applied to any directory is associated and stored persistently to a specific version of all files in that directory and all its subdirectories, but neither directory tags nor the relations between them are stored persistently.

The relational design of the HVS engine described above is not specific to COOL alone. In fact, the design was developed in collaboration with the ATLAS Detector Description project, and is also implemented in that software infrastructure.

-- AlexLoth - 16-Dec-2009

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2010-06-15 - AndreaValassi
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Persistency All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback