![]() |
ATLAS Offline Software
|
This class provides the interface to the LCG POOL persistency software. More...
#include <PoolSvc.h>
Classes | |
| class | ContextLock |
Public Member Functions | |
| virtual StatusCode | initialize () override |
| Required of all Gaudi services: | |
| virtual StatusCode | io_reinit () override |
| virtual StatusCode | start () override |
| Required of all Gaudi services: | |
| virtual StatusCode | stop () override |
| virtual StatusCode | finalize () override |
| Required of all Gaudi services: | |
| virtual StatusCode | io_finalize () override |
| virtual Token * | registerForWrite (const Placement *placement, const void *obj, const RootType &classDesc) override |
| virtual void | setObjPtr (void *&obj, const Token *token) override |
| virtual unsigned int | getOutputContext (const std::string &label) override |
| virtual unsigned int | getInputContext (const std::string &label, unsigned int maxFile=0) override |
| virtual const std::map< std::string, unsigned int > & | getInputContextMap () const override |
| virtual const coral::Context * | context () const override |
| virtual void | loadComponent (const std::string &compName) override |
| virtual void | setShareMode (bool shareCat) override |
| virtual const pool::IFileCatalog * | catalog () const override |
| virtual void | lookupBestPfn (const std::string &token, std::string &pfn, std::string &type) const override |
| virtual void | renamePfn (const std::string &pf, const std::string &newpf) override |
| virtual pool::ICollection * | createCollection (const std::string &collectionType, const std::string &connection, const std::string &collectionName, unsigned int contextId=IPoolSvc::kInputStream) const override |
| virtual Token * | getToken (const std::string &connection, const std::string &collection, const unsigned long ientry) const override |
| virtual StatusCode | connect (pool::ITransaction::Type type, unsigned int contextId=IPoolSvc::kInputStream) override |
| Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmode). | |
| virtual StatusCode | commit (unsigned int contextId=IPoolSvc::kInputStream) const override |
| Commit data for a given contextId and flush buffer. | |
| virtual StatusCode | commitAndHold (unsigned int contextId=IPoolSvc::kInputStream) const override |
| Commit data for a given contextId and hold buffer. | |
| virtual StatusCode | disconnect (unsigned int contextId=IPoolSvc::kInputStream) const override |
| Disconnect PersistencySvc associated with a contextId. | |
| virtual StatusCode | disconnectDb (const std::string &connection, unsigned int contextId=IPoolSvc::kInputStream) const override |
| Disconnect single Database. | |
| virtual long long int | getFileSize (const std::string &dbName, long tech, unsigned int contextId) const override |
| Get POOL FileSize attribute for database without logging a message. | |
| virtual StatusCode | getAttribute (const std::string &optName, std::string &data, long tech, unsigned int contextId=IPoolSvc::kInputStream) const override |
| Get POOL attributes - domain. | |
| virtual StatusCode | getAttribute (const std::string &optName, std::string &data, long tech, const std::string &dbName, const std::string &contName="", unsigned int contextId=IPoolSvc::kInputStream) const override |
| Get POOL attributes - db/file, container/collection. | |
| virtual StatusCode | setAttribute (const std::string &optName, const std::string &data, long tech, unsigned int contextId=IPoolSvc::kOutputStream) const override |
| Set POOL attributes - domain. | |
| virtual StatusCode | setAttribute (const std::string &optName, const std::string &data, long tech, const std::string &dbName, const std::string &contName="", unsigned int contextId=IPoolSvc::kOutputStream) const override |
| Set POOL attributes - db/file, container/collection. | |
| virtual StatusCode | setFrontierCache (const std::string &conn) override |
| Setup Frontier cache for given logical or physical connection name. | |
| virtual | ~PoolSvc () |
| Destructor. | |
Private Types | |
| typedef std::recursive_mutex | CallMutex |
Private Member Functions | |
| void | clearState () |
| pool::IFileCatalog * | createCatalog () |
| void | patchCatalog (const std::string &pfn, pool::IDatabase &dbH) const |
| StatusCode | setupPersistencySvc () |
| std::unique_ptr< pool::IDatabase > | getDbHandle (unsigned int contextId, const std::string &dbName) const |
| Get Database handle. | |
| std::unique_ptr< pool::IContainer > | getContainerHandle (pool::IDatabase *dbH, const std::string &contName) const |
| Get Container handle. | |
| std::string | poolCondPath (const std::string &leaf) |
| Resolve a file using ATLAS_POOLCOND_PATH. | |
Private Attributes | |
| CallMutex | m_pool_mut |
| coral::Context * | m_context {nullptr} |
| bool | m_shareCat {false} |
| pool::IFileCatalog * | m_catalog {nullptr} |
| std::vector< pool::IPersistencySvc * > | m_persistencySvcVec |
| std::vector< CallMutex * > | m_pers_mut |
| std::map< std::string, unsigned int > | m_inputContextLabel |
| std::map< std::string, unsigned int > | m_outputContextLabel |
| std::string | m_mainOutputLabel {} |
| std::map< unsigned int, unsigned int > | m_contextMaxFile |
| std::map< unsigned int, std::list< Guid > > m_guidLists | ATLAS_THREAD_SAFE |
| Gaudi::Property< std::string > | m_fileOpen {this,"FileOpen","overwrite"} |
| FileOpen, the open mode for the file ("append" or "overwrite"). | |
| Gaudi::Property< int > | m_dbAgeLimit {this,"MaxFilesOpen",0} |
| MaxFilesOpen, option to have PoolSvc limit the number of open Input Files: default = 0 (No files are closed automatically) | |
| Gaudi::Property< std::string > | m_writeCatalog {this,"WriteCatalog","xmlcatalog_file:PoolFileCatalog.xml"} |
| WriteCatalog, the file catalog to be used to register output files (also default input catalog): default = "" (use POOL default). | |
| Gaudi::Property< std::vector< std::string > > | m_readCatalog {this,"ReadCatalog",{},"List of catalog files to read from","OrderedSet<std::string>"} |
| ReadCatalog, the list of additional POOL input file catalogs to consult: default = empty vector. | |
| Gaudi::Property< bool > | m_useROOTIMT {this,"UseROOTImplicitMT",true} |
| Use ROOT Implicit MultiThreading, default = true. | |
| Gaudi::Property< bool > | m_useROOTMaxTree {this,"UseROOTIncreaseVMaxTree",false} |
| Increase virtual TTree size to avoid backreads in multithreading, default = false. | |
| Gaudi::Property< bool > | m_attemptCatalogPatch {this,"AttemptCatalogPatch",true} |
| AttemptCatalogPatch, option to create catalog: default = false. | |
| Gaudi::Property< int > | m_retrialPeriod {this,"ConnectionRetrialPeriod",300} |
| ConnectionRetrialPeriod, retry period for CORAL Connection Service: default = 30 seconds. | |
| Gaudi::Property< int > | m_retrialTimeOut {this,"ConnectionRetrialTimeOut",3600} |
| ConnectionRetrialTimeOut, the retrial time out for CORAL Connection Service: default = 300 seconds. | |
| Gaudi::Property< int > | m_timeOut {this,"ConnectionTimeOut",5} |
| ConnectionTimeOut, the time out for CORAL Connection Service: default = 5 seconds. | |
| Gaudi::Property< bool > | m_connClean {this,"ConnectionCleanUp",false} |
| ConnectionCleanUp - whether to use CORAL connection management thread: default = false. | |
| Gaudi::Property< int > | m_frontierComp {this,"FrontierCompression",5} |
| Frontier proprties, compression level and list of schemas to be refreshed: default = 5. | |
| Gaudi::Property< std::vector< std::string > > | m_frontierRefresh {this,"FrontierRefreshSchema",{}} |
| Gaudi::Property< bool > | m_sortReplicas {this,"SortReplicas",true} |
| Use DBReplicaSvc to sort database connections, default = true. | |
| Gaudi::Property< std::string > | m_defaultROOTContainerType {this, "DefaultContainerType", "ROOTTREEINDEX"} |
| Default ROOT container type. | |
This class provides the interface to the LCG POOL persistency software.
|
private |
|
virtual |
|
overridevirtual |
|
private |
Definition at line 239 of file PoolSvc.cxx.
|
overridevirtual |
Commit data for a given contextId and flush buffer.
| contextId | [IN] poolStream to be commited. |
Definition at line 619 of file PoolSvc.cxx.
|
overridevirtual |
Commit data for a given contextId and hold buffer.
| contextId | [IN] poolStream to be commited. |
Definition at line 637 of file PoolSvc.cxx.
|
overridevirtual |
Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmode).
Definition at line 587 of file PoolSvc.cxx.
|
overridevirtual |
|
private |
Definition at line 939 of file PoolSvc.cxx.
|
overridevirtual |
| collectionType | [IN] string containing the collection type. |
| connection | [IN] string containing the connection. |
| collectionName | [IN] string containing the persistent name of the collection. |
| contextId | [IN] id for PoolSvc persistency service to use for input. |
Definition at line 437 of file PoolSvc.cxx.
|
overridevirtual |
Disconnect PersistencySvc associated with a contextId.
| contextId | [IN] poolStream to be disconnected. |
Definition at line 652 of file PoolSvc.cxx.
|
overridevirtual |
Disconnect single Database.
| connection | [IN] connection string for Database to be disconnected. |
| contextId | [IN] context id of database to be disconnected. |
Definition at line 674 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 259 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - db/file, container/collection.
Definition at line 733 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - domain.
Definition at line 710 of file PoolSvc.cxx.
|
private |
Get Container handle.
Definition at line 1009 of file PoolSvc.cxx.
|
private |
Get Database handle.
Definition at line 982 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL FileSize attribute for database without logging a message.
Definition at line 692 of file PoolSvc.cxx.
|
overridevirtual |
| label | [IN] string label to name new context and allow sharing (returns existing contextId) |
| maxFile | [IN] maximum number of open input files. |
Definition at line 359 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 384 of file PoolSvc.cxx.
|
overridevirtual |
| label | [IN] string label to name new context and allow sharing (returns existing contextId) |
Definition at line 328 of file PoolSvc.cxx.
|
overridevirtual |
| connection | [IN] string containing the connection/file name. |
| collection | [IN] string containing the persistent name of the collection. |
| ientry | [IN] entry number for the token to be returned |
Definition at line 563 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 57 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 264 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 134 of file PoolSvc.cxx.
|
overridevirtual |
| compName | [IN] string name of the component to be loaded. |
Definition at line 392 of file PoolSvc.cxx.
|
overridevirtual |
| token | [IN] filename/token string to be translated |
| pfn | [OUT] string PFN of database |
| type | [OUT] string filetype of database |
Definition at line 404 of file PoolSvc.cxx.
|
private |
Definition at line 555 of file PoolSvc.cxx.
|
private |
Resolve a file using ATLAS_POOLCOND_PATH.
Definition at line 1026 of file PoolSvc.cxx.
|
overridevirtual |
| placement | [IN] pointer to the placement hint. |
| obj | [IN] pointer to the Data Object to be written to Pool. |
| classDesc | [IN] pointer to the Seal class description for the Data Object. |
Definition at line 276 of file PoolSvc.cxx.
|
overridevirtual |
| pf | [IN] filename to be renamed |
| newpf | [IN] new filename |
Definition at line 422 of file PoolSvc.cxx.
|
overridevirtual |
Set POOL attributes - db/file, container/collection.
Definition at line 808 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 784 of file PoolSvc.cxx.
|
overridevirtual |
Setup Frontier cache for given logical or physical connection name.
Definition at line 880 of file PoolSvc.cxx.
|
overridevirtual |
| obj | [OUT] pointer to the Data Object. |
| token | [IN] token of the Data Object for which a Pool Ref is filled. |
Definition at line 300 of file PoolSvc.cxx.
|
overridevirtual |
| shareCat | [IN] bool to share the file catalog. |
Definition at line 396 of file PoolSvc.cxx.
|
private |
Definition at line 175 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 214 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 226 of file PoolSvc.cxx.
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Use DBReplicaSvc to sort database connections, default = true.
Definition at line 262 of file PoolSvc.h.
|
private |
|
private |
|
private |
|
private |