![]() |
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::ISession * | getInputContextSession (unsigned int contextId) const override |
| virtual void | setShareMode (bool shareCat) override |
| virtual void | startCatalog () override |
| virtual void | commitCatalog () 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 StatusCode | connectCollection (const std::string &connection, const std::string &collectionName, const pool::DbType &collectionType, unsigned int contextId=IPoolSvc::kInputStream) const override |
| virtual StatusCode | checkCollection (const std::string &connection, unsigned int contextId, bool noContainer) const override |
| virtual Token * | getToken (const std::string &connection, const std::string &collection, const unsigned long ientry) const 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) 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 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 | ~PoolSvc () |
| Destructor. | |
Private Types | |
| using | CallMutex = std::recursive_mutex |
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 |
| bool | m_shareCat {false} |
| pool::IFileCatalog * | m_catalog {nullptr} |
| std::vector< pool::ISession * > | 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 435 of file PoolSvc.cxx.
|
private |
Definition at line 176 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 530 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 338 of file PoolSvc.cxx.
|
overridevirtual |
Connect to a logical database unit; PersistencySvc is chosen according to transaction type (accessmode).
Definition at line 480 of file PoolSvc.cxx.
|
overridevirtual |
| connection | [IN] string containing the connection. |
| collectionName | [IN] string containing the persistent name of the collection. |
| collectionType | [IN] string containing the collection type. |
| contextId | [IN] id for PoolSvc persistency service to use for input. |
Definition at line 377 of file PoolSvc.cxx.
|
private |
Definition at line 756 of file PoolSvc.cxx.
|
overridevirtual |
Disconnect PersistencySvc associated with a contextId.
| contextId | [IN] poolStream to be disconnected. |
Definition at line 545 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 567 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 196 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - db/file, container/collection.
Definition at line 608 of file PoolSvc.cxx.
|
overridevirtual |
Get POOL attributes - domain.
Definition at line 585 of file PoolSvc.cxx.
|
private |
Get Container handle.
Definition at line 822 of file PoolSvc.cxx.
|
private |
Get Database handle.
Definition at line 798 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 285 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 310 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 315 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 320 of file PoolSvc.cxx.
|
overridevirtual |
| label | [IN] string label to name new context and allow sharing (returns existing contextId) |
Definition at line 265 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 460 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 42 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 201 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 82 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 344 of file PoolSvc.cxx.
|
private |
Definition at line 452 of file PoolSvc.cxx.
|
private |
Resolve a file using ATLAS_POOLCOND_PATH.
Definition at line 836 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 213 of file PoolSvc.cxx.
| pf | [IN] filename to be renamed |
| newpf | [IN] new filename |
Definition at line 362 of file PoolSvc.cxx.
|
overridevirtual |
Set POOL attributes - db/file, container/collection.
Definition at line 683 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 659 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 237 of file PoolSvc.cxx.
|
overridevirtual |
| shareCat | [IN] bool to share the file catalog. |
Definition at line 328 of file PoolSvc.cxx.
|
private |
Definition at line 123 of file PoolSvc.cxx.
|
overridevirtual |
Required of all Gaudi services:
Definition at line 151 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 332 of file PoolSvc.cxx.
|
overridevirtual |
Definition at line 163 of file PoolSvc.cxx.
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |