Python API: samAdmin v8_1_5
samAdmin.removeMeaninglessDimensions()

Just having some fun...
This is the python interface to the command 'samadmin remove meaningless dimensions'.
Command Description:

As SAM was migrated to experiments other than D0, the D0 database
was used as the "starting point" for populating the initial SAM
database of these experiments.  In some cases, this resulted in
d0-specific data being incorporated into a non-d0 experiments'
data.

In particular, databases created before Spring 2005 contain 
valid dimension names from the D0 database, which
includes two classes of dimensions that are not valid for
other experiments:

  a) parameter-specific dimensions valid for the d0-specific
     registered parameterCategories and parameterTypes,
     but not valid for other experiments' parameters.
       example: ROOT-TUPLE.D0RELEASE

  b) dimensions related to ONLINE_RUN data, which is stored
     in sam-related tables for D0, but not for other
     experiments.
       example: SOLENOID_POLARITY

This command will cleanup the list of valid dimensions
so that:

  a) dimensions that reference non-existent tables
     are removed (such as the d0-specific dimensions that
     reference ONLINE_RUN-related tables)

  b) dimensions that reference non-existent paramCategories
     and/or paramTypes will be removed.

It should need to be run at most once per db.  It does not
hurt to run it again, but... well, it won't do much except
waste time.

This command requires sam_idl_pylib v6_8_0_0+ on the local client,
and will only work against a sam_db_srv running a v6_8+ sam_dimension_server_prototype.


Python Usage:
	from SamAdmin import samAdmin
	result = samAdmin.removeMeaninglessDimensions(...)

Return value: string

Arguments are passed as keyword-value pairs, as in:
	 myfunc(arg1='myarg', arg2='anotherarg', d=1)

Argument Keyword Description:
	(*) indicates that this keyword is required
	>>> indicates that either the API object or the CLI equivalent (<<<) is required
====================================================================================================================================
    KEYWORD                    DATA TYPE            DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------
    c                          SamBoolean           automatically close all servants after each method call
    connect                    string               oracle username/password for connecting to this database
    corbaCallTimeout           int                  time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
    d                          SamBoolean           debug mode
    retryInterval              int                  retry interval base in seconds; will multiply this base times retryCount (default: 5)
    retryJitter                int                  retry jitter, random jitter added to base retry interval times retryCount (default: 5)
    retryMaxCount              int                  number of times to retry CORBA calls for retriable exceptions (default: 25; zero implies no retries)
    s                          SamBoolean           retrySilently mode (do not issue messages to stderr on proxy retries)
    t                          SamBoolean           time-it mode (print additional info on timings)
    v                          SamBoolean           verbose mode
====================================================================================================================================

Environment Defaults:
	c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
	connect = os.environ['SAM_ORACLE_CONNECT']
	corbaCallTimeout = os.environ['SAM_PYAPI_CORBA_CALL_TIMEOUT']
	retryInterval = os.environ['SAM_PYAPI_RETRY_INTERVAL']
	retryJitter = os.environ['SAM_PYAPI_RETRY_JITTER']
	retryMaxCount = os.environ['SAM_PYAPI_RETRY_MAX_COUNT']
	s = os.environ['SAM_PYAPI_RETRY_SILENTLY']



See Also: