Manuals: Objy AMS | FDID alloc | Sel Apps | Glossary | Proceedings | Talks | Press

Search | Site Map .

BdbIntervalUtil


  
DESCRIPTION:

  This Utility provides a broad spectrum of various browsing
  and management commands which relate to the contents of Conditions database.

  IMPORTANT: The transaction management policy for those commands which are
             meant to modify the contents of the Conditions/DB is as follows:

             1. An update-mode transaction is unconditionally aborted if any kind of
                problems is encountered during the command's execution or even at
                the preparation stage (like command parsing stage).

             2. For the composite commands (the ones which involve starting/commiting
                multiple transactions to complete specified mission) the previously
                stated rule (1) applies only to a transaction where a problem occured.
                Should this occure the command's execution is immediatly aborted as well.
                This actually means that the composite commands may be "semi-completed".

             By default (unless it's stated explicitly) commands are executed withing a single
             transaction. Multiple transaction mode is typically used when multiple
             interval containers are involved into an operation, or if this is
             required by the performance consideration.

             See the description of each command for an indication if this command
             is the composite one.

GENERAL SYNTAX:

  BdbIntervalUtil { help |  [par1] [par2] ... }

COMMANDS (BY GROUP)

  1:GENERAL INFORMATION...

    help       - this page

    detectors  - print names of sub-detectors groups in the Conditions DB.

                 This command (in its current implementation) will make
                 and parse a dump of the existing "con_xxx_Link" databases
                 using the "oodumpcatalog" utility.

                 Make sure that the mentioned above utility is in your current path.

                 Note also, that for some federations with many databases this
                 may take a while. Just be patient.

    containers - names of interval containers in a detector

  2:GENEALOGY BROWSING...

    genealogy    - print the information about persistent intervals
                   for specified condition. The output is available
                   in various formats.

                   The validity range can also be optionally narrowed from either
                   side of the timeline.

    toplist      - print a timeline of topmost versions of intervals.

                   NOTE: The same set of options is available as in case of
                         the "genealogy" command.

    baselinelist - print a timeline of baseline versions of intervals.

                   NOTE: The same set of options is available as in case of
                          the "genealogy" command.

    revisionlist - print a timeline of intervals explicitly or implicitly belonging
                   to a specified revision.

                   NOTE: The same set of options is available as in case of
                         the "genealogy" command.

  3:CONTAINERS MANAGEMENT...

    delete         - delete specified interval container (if authorized)
                     and all the objects pointed through intervals of the container
                     if required by optional argument.
                     By default this operation will delete both the container link
                     and the interval container. This behavior can be overriden
                     by setting an optional command argument.
                     In this case the container link will not be deleted.

    deletemany     - delete many interval containers using simple regular expression
                     and all the objects pointed through intervals of each found container
                     if required by optional argument.
                     The container link (if any) will not be deleted if an optional
                     argument is specified.

    copy           - make a copy of specified interval container and (if required
                     and if the input and output containers belong to different
                     detectors) of conditions objects.

    checkpoint     - create a checkpoint of an interval container. The checkpoint
                     is a deep copy (without making a copy of conditions objects)
                     of a particular interval container.
                     This copy can be later used to replace the modified or damaged
                     original container.

    merge          - merge the contents of the source interval container into
                     the destination one.
                     The LEFT/RIGHT flag specifies which parts of containers to merge.
                     A point where the containers are split is defined by another
                     parameter - merge time.

    verifymerge    - a trial path for the real "merge" command. This will evaluate
                     if merging is available for specified set of parameters, including
                     the merging point itself.
                     The positive result is indicated by the SUCCESS status, returned
                     to the shell and by the absence of any messages on the standard
                     output during the command execution.

    merge2         - the same as "merge" but the begin and end times are specified
                     limited the procedure by the area. Also a selection of which
                     area (INNER or OUTER) should be taken for merging can be specified.
                     The default is INNER.
                     Neither of times can be either "infinity".

    verifymerge2   - the same as "verifymerge" with the similar corrections for "merge2".

    split          - split the timeline of intervals at specified point in an interval container.

    compare        - compare two interval containers. Various comparision strutegies
                     can be applied. See parameters of the command for more detales.

    purge          - purge the vertical interval versions for specified container.
                     The begin or/and end validity times could be specified to limit
                     the scope of the operation.
                     It's also possible to specify if the revised intervals are to be
                     included into the purging.
                     The specified number of top slices to keep may also be set.

    verify         - verify if persistent intervals of specified interval container have
                     consistent internal structure.
                     By default all intervals of the containers are verified. This can
                     be overriden by explicitly specifying the begin and end validity times.

    profile        - measure the interval container profile. The results are printed
                     onto the Standard Output Stream.

    nanocorrection - check if validity time limits of persistent intervals in a specified
                     interval container have non-zero nanosecond fields. Then fix found
                     intervals.
                     The command may also be run in a "verify" only mode, if
                     an optional switch is specified.
                     The range of validity time affected by the command can also be
                     narrowsed from default [-oo, +oo) to something else.
                     If the "verbose" mode is chosen then a list of OID-s of found/fixed
                     intervals will also be reported.

  4:THE SYMBOLIC LINKS INFORMATION AND MANAGEMENT...

    createlink     - create an interval container link. This would actually create
                     a special empty interval container with specified attributes
                     (detector and container name) which wil point onto another "real"
                     interval container.
                     This operation requires a user to be either a system manager
                     of the whole Conditions domain or just a group manager of
                     a detector group where the container link is going to be created.

    removelink     - remove specified interval container link. By default this operation
                     does not affect a "real" container the link is pointing at.
                     This operation requires the same privileges from a user
                     as "createlink" command.
                     If an optional keyword is set for this command then the operation
                     would propagate along the link an the target interval container
                     would also be located and deleted.

    removelinkmany - remove many interval container links using simple regular expression.
                     This command exhibits the same behavior as a regular "removelink"
                     for every link, whose names matche specified expression.
                     An optional "-verbose" parameter allows to print the links
                     as they are removed.

    showlink       - print the information about specified interval container link,
                     including origin, detector and container names of the "real"
                     container to be pointed outh through the link.

    locklink       - enforces WRITE lock for an interval container referenced via
                     specified container link,
                     This is non-Objectivity lock but a way to prevent applications
                     to modify a contents of an interval container.

    unlocklink     - removes WRITE lock for an interval container referenced via
                     specified container link,

  5:OPERATIONS INVOLVING CONDITIONS OBJECTS...

    classes    - print names of all the persistent classes of the Conditions object
                 to be referenced through a particular interval container
                 or through all the conatiners in a detector.
                 In addition the number of class uses is printed.

    composites - print names of all the composite persistent classes.

    validate   - check the integrity of the Conditions DB following
                 object links for specified interval container or whole detector.

  6:REVISIONS BROWSING AND MANAGEMENT...

    registry       - numbers of registered revisions for a class.

    revision       - detaled information about a revision.

    dependencylist - dependancy information for a revision. All direct and indirect
                     base revisions are printed.

    dependencytree - dependancy tree of all existing revisions.

    produce        - produce a configuration file for Conditions DB applications.

                     This command allows an option to choose the version of
                     the configuration file to produce. By default the V2 configuration
                     is generated.

                     Another option ("-topmost_if_unassigned") if specified allows
                     to generate the TOPMOST definitions for those conditions which
                     have unassigned intervals at the top layer. This will override
                     the default requiering that REVISION definitions with the most
                     recent revision ID were generated.

    revise2d       - locate a slice of unassigned intervals in a 2D space of VALIDITY
                     and VERSION times and create a new revision with these intervals.
                     The vertical (VERSION time) ambiguity in selecting the slice
                     is resolved with a special STRATEGY parameter.

    revise2d_update

                   - provides the same basic functionality as "revise2d" but
                     in the end it updates existing revision rather than creating
                     a new one.

    reviseoids     - take a list of interval OIDs (Object IDentifiers), verify this
                     list, then create a new revision.

    reviseoids_update

                   - provides the same basic functionality as "reviseoids" but
                     in the end it updates existing revision rather than creating
                     a new one.

    revisetop      - browse through existing topmost intervals of a specified container
                     and create a new revision made of these intervals.

    revisetop_update

                   - provides the same basic functionality as "revisetop" but
                     in the end it updates existing revision rather than creating
                     a new one.

    revisetopmany  - This command behaves much like "revisetop" but it's able to process
                     multiple interval containers.

                     There are two complementary ways to specify containers to be processed:

                         - via an explicit list of detectors/ontainers to be
                           included into the operation;

                         - or by specifying those detectors/containers which have
                           to be excluded from the operation.

                     The following containers are always excluded from the processing,
                     no matter what type of selection above is choosen:

                         - any "old" style non-linked interval containers;

                         - any non locally created interval containers (those ones
                           having the origin which is different from the local
                           origin of a federation where the procedure is being run.

                     Also the new revisions are not created at containers which do not
                     have un-assigned (not belonging to any particular revision) intervals
                     on the top.

                     On its input the command requires to specify the location of
                     the most recent configuration file (REVISION PATH) in order to calculate
                     the base revision ID-s for new revisions.

                     On its output the command produces an updated configuration file at
                     the specified location.

                     IMPORTANT: This is multi-transaction command.
                                Each container (even those ones where new revisions
                                are not created) is processed within its own transaction.
                                See specific notes on this type of transaction management at
                                the very beginning of this help list.

                     NOTES: Since this type of operation may bring a lot of persistent
                            objects into the process cache (managed by Objectivity's client
                            code) then it would be wise to increase the default maximum
                            for the cache size using the following method:

                                setenv OO_CACHE_MAX 4096

                            Do not forget to unset this environment variable when
                            the operation is finished. Otherwise this may affect other
                            applications.

    revisetopmany_update

                   - provides the same basic functionality as "revisetopmany" but
                     in the end it updates existing revision rather than creating
                     a new one.

                     IMPORTANT: This is also a multi-transaction command. See the notes above.

    createrevision - create an empty revision. The command is much like "revisetop"
                     above, but it does not put any intervals in the new revision.

    deleterevision - delete specified revision from the container.
                     This will disconnect all the explicitly connected (to this revision)
                     intervals, thus making them "unassigned" ones.
                     Remember that the BASELINE revision can never be deleted in this way.

    verify_config  - verify if specified configuration file matches the contents of the database.
                     The differences (if they seen) will be reported to the Standard Output.

                     This operation can be optionally narrowed either to a particular
                     detector (all conditions inside this detector) or to a particular
                     condition.

                     NOTE: The special detectors "tmp" and "usr" are excluded from
                           the consideration unless they are explicitly requested
                           in the command line.

                     NOTE: The special containers (those ones starting from the '_' symbol
                           are excluded from the consideration unless they are explicitly
                           requested in the command line.

                     The validity range can also be optionally narrowed from either
                     side of the timeline. This will only restrict the validity area where
                     the unassigned intervals are searched.

  7:THE HISTORY BROWSING AND MANAGEMENT...

    createhistory - create the history structures in an interval container.

    removehistory - remove the history structures in an interval container.

    comment       - record a comment string in a container history.

    history       - extract and print records from a container history.

  8:LOW-LEVEL OPERATIONS...

    fetchnstore    - fetch a conditions object for a specified time and (optionally)
                     revision and then store it back with a different validity time.

    removeinterval - remove specified (by time) interval from an interval container.
                     Only topmost intervals (including baseline ones without version
                     above) are allowed for removal.

  9:OTHER COMMANDS...

    translate_time - Perform time translation for specified value. The result
                     is printed onto the standard output.

                     The command is able to perform bi-direction translation of time
                     specified either in a form of the number of seconds or as
                     a formatted string (to be understood by a constructor of BdbTime
                     class). The corresponding command syntax and expected list of
                     parameters depends on a direction of the translation.

                     This command does not do any transaction management.

SYNTAX OF EACH COMMAND:

  help
  detectors
  containers     containers  [-all] [-long] [{ ALL | NEWLINK | (NEWINDEX []) | OLDINDEX }]
  registry       
  revision         
  dependencylist   []
  dependencytree   [-long]

  genealogy       
                 [-format ]
                 [-begin_validity 

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: December 13, 2001