![]() |
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 std::map< std::string, unsigned int > | getInputContextMap () const override |
| virtual unsigned int | getInputContextMapSize () const override |
| virtual pool::FileDescriptor | getInputFileDescriptor (unsigned int contextId, const std::string &connection) override |
| virtual void | setShareMode (bool shareCat) override |
| virtual void | startCatalog () override |
| virtual void | commitCatalog () override |
| virtual void | lookupBestPfn (const std::string &dbID, std::string &pfn, std::string &type) const override |
| virtual StatusCode | connectCollection (const std::string &connection, const std::string &collectionName, unsigned int contextId=IPoolSvc::kInputStream) override |
| virtual StatusCode | checkCollection (const std::string &connection, unsigned int contextId, bool noContainer) override |
| virtual Token * | getToken (const std::string &connection, const std::string &collection, const unsigned long ientry) override |
| virtual StatusCode | connect (Io::IoFlag 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) override |
| Commit data for a given contextId and flush buffer. | |
| virtual StatusCode | commitAndHold (unsigned int contextId=IPoolSvc::kInputStream) override |
| Commit data for a given contextId and hold buffer. | |
| virtual StatusCode | disconnect (unsigned int contextId=IPoolSvc::kInputStream) override |
| Disconnect PersistencySvc associated with a contextId. | |
| virtual StatusCode | disconnectDb (const std::string &connection, unsigned int contextId=IPoolSvc::kInputStream) override |
| Disconnect single Database. | |
| virtual StatusCode | getAttribute (const std::string &optName, std::string &data, long tech, unsigned int contextId=IPoolSvc::kInputStream) 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) 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) 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) override |
| Set POOL attributes - db/file, container/collection. | |
| StatusCode | createSession (const std::string &sessionName, int ageLimit=-1) |
| Create a new session for a given session name and age limit. | |
| virtual | ~PoolSvc () |
| Destructor. | |
Private Types | |
| using | CallMutex = std::recursive_mutex |
Private Member Functions | |
| void | clearState () |
| bool | 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) |
| Get Database handle. | |
| std::unique_ptr< pool::IContainer > | getContainerHandle (pool::IDatabase *dbH, const std::string &contName) |
| Get Container handle. | |
| std::string | poolCondPath (const std::string &leaf) |
| Resolve a file using ATLAS_POOLCOND_PATH. | |
Private Attributes | |
| CallMutex | m_pool_mut |
| bool | m_shareCat {false} |
| SmartIF< Gaudi::IFileCatalogMgr > | m_catalogMgr |
| SmartIF< Gaudi::IFileCatalog > | m_catalog |
| std::vector< ToolHandle< SessionTool > > | m_dbSessionVec |
| 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< 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. | |
This class provides the interface to the LCG POOL persistency software.
|
private |
|
virtual |
|
overridevirtual |
| connection | [IN] string containing the connection. |
| contextId | [IN] id for PoolSvc persistency service to use for input. |
| noContainer | [IN] if no collection was found check whether file exists or had no events |
Definition at line 439 of file PoolSvc.cxx.
|
private |
Definition at line 181 of file PoolSvc.cxx.
|
overridevirtual |
Commit data for a given contextId and flush buffer.
| contextId | [IN] poolStream to be commited. |
Definition at line 512 of file PoolSvc.cxx.
|
overridevirtual |
Commit data for a given contextId and hold buffer.
| contextId | [IN] poolStream to be commited. |
Definition at line 528 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 371 of file PoolSvc.cxx.
|
overridevirtual |
Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmode).
Definition at line 484 of file PoolSvc.cxx.
|
overridevirtual |
| 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 381 of file PoolSvc.cxx.
|
private |
Definition at line 769 of file PoolSvc.cxx.
| StatusCode PoolSvc::createSession | ( | const std::string & | sessionName, |
| int | ageLimit = -1 ) |
Create a new session for a given session name and age limit.
make a new session tool and add it to the list of session tools
Definition at line 879 of file PoolSvc.cxx.
|
overridevirtual |
Disconnect PersistencySvc associated with a contextId.
| contextId | [IN] poolStream to be disconnected. |
Definition at line 541 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 563 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 203 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - db/file, container/collection.
Definition at line 607 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - domain.
Definition at line 581 of file PoolSvc.cxx.
|
private |
Get Container handle.
Definition at line 846 of file PoolSvc.cxx.
|
private |
Get Database handle.
Definition at line 818 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 301 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 329 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 334 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 339 of file PoolSvc.cxx.
|
overridevirtual |
| label | [IN] string label to name new context and allow sharing (returns existing contextId) |
Definition at line 278 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 464 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 47 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 208 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 87 of file PoolSvc.cxx.
|
overridevirtual |
| dbID | [IN] database ID to be translated |
| pfn | [OUT] string PFN of database |
| type | [OUT] string filetype of database |
Definition at line 377 of file PoolSvc.cxx.
|
private |
Definition at line 456 of file PoolSvc.cxx.
|
private |
Resolve a file using ATLAS_POOLCOND_PATH.
Definition at line 860 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 220 of file PoolSvc.cxx.
|
overridevirtual |
Set POOL attributes - db/file, container/collection.
Definition at line 691 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 665 of file PoolSvc.cxx.
| obj | [OUT] pointer to the Data Object. |
| token | [IN] token of the Data Object for which a Pool Ref is filled. |
Definition at line 244 of file PoolSvc.cxx.
|
overridevirtual |
| shareCat | [IN] bool to share the file catalog. |
Definition at line 361 of file PoolSvc.cxx.
|
private |
Definition at line 128 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 155 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 365 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 168 of file PoolSvc.cxx.
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |