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