ATLAS Offline Software
RootKeyContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //====================================================================
6 // Root Database implementation
7 //--------------------------------------------------------------------
8 //
9 // Package : RootStorageSvc (The POOL project)
10 //
11 // Author : M.Frank
12 //====================================================================
13 #ifndef POOL_ROOTKEYCONTAINER_H
14 #define POOL_ROOTKEYCONTAINER_H 1
15 
16 // Framework include files
17 #include "StorageSvc/DbDatabase.h"
19 
20 // Forward declarations
21 namespace CINT { class IOHandler; }
22 class TDirectory;
23 class TBuffer;
24 class TClass;
25 
26 namespace pool {
27  // Forward declarations
28  union RootDataPtr;
29  class RootKeyIOHandler;
30 
47  TDirectory* m_dir;
55  int m_policy;
57  int m_ioBytes;
58 
59  protected:
61  virtual DbStatus destroyObject(ActionList::value_type&);
63  virtual DbStatus writeObject(ActionList::value_type&);
64  public:
68  virtual ~RootKeyContainer();
72  virtual DbStatus close();
74  virtual DbStatus open(DbDatabase& dbH,
75  const std::string& nam,
76  const DbTypeInfo* info,
79  virtual DbStatus isShapeSupported(const DbTypeInfo* /* typ */ ) const
80  { return true; }
82  virtual DbStatus select(DbSelect& criteria);
84  virtual uint64_t size();
90  virtual DbStatus fetch( const Token::OID_t& linkH, Token::OID_t& stmt);
91 
93 
99  virtual DbStatus loadObject( void** ptr, ShapeH shape,
100  Token::OID_t& oid);
101 
103  virtual DbStatus load( void** ptr, ShapeH shape,
104  const Token::OID_t& linkH,
105  Token::OID_t& oid,
106  bool any_next);
107 
109 
114 
116 
120  virtual DbStatus setOption(const DbOption& opt);
121 
123 
129  };
130 }
131 #endif //POOL_ROOTKEYCONTAINER_H
grepfile.info
info
Definition: grepfile.py:38
pool::RootKeyContainer::setOption
virtual DbStatus setOption(const DbOption &opt)
Set options.
pool::DbAccessMode
int DbAccessMode
Definition: Database/APR/StorageSvc/StorageSvc/pool.h:47
pool::RootKeyContainer::operator=
RootKeyContainer & operator=(const RootKeyContainer &)=delete
CINT
Definition: RootKeyContainer.h:21
createCoolChannelIdFile.stmt
stmt
Definition: createCoolChannelIdFile.py:42
pool::RootKeyContainer::destroyObject
virtual DbStatus destroyObject(ActionList::value_type &)
Destroy persistent object in the container.
pool::RootKeyContainer::writeObject
virtual DbStatus writeObject(ActionList::value_type &)
Commit single entry to container.
pool::RootKeyContainer::m_ioBytes
int m_ioBytes
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition: RootKeyContainer.h:57
pool::DbStatus
Definition: DbStatus.h:67
pool::RootKeyContainer::getOption
virtual DbStatus getOption(DbOption &opt)
Access options.
pool::RootKeyContainer::open
virtual DbStatus open(DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mod)
Open the container for object access.
pool::RootKeyContainer::m_ioHandler
RootKeyIOHandler * m_ioHandler
CINT IO handler to allow user overloads....
Definition: RootKeyContainer.h:53
pool::RootKeyContainer::fetch
virtual DbStatus fetch(const Token::OID_t &linkH, Token::OID_t &stmt)
Fetch a column identified by its link in the container.
pool::RootKeyContainer::transAct
virtual DbStatus transAct(Transaction::Action action)
Execute end of object modification requests during a transaction.
pool
pool namespace
Definition: libname.h:15
pool::RootKeyContainer::m_rootDb
RootDatabase * m_rootDb
Root database file reference.
Definition: RootKeyContainer.h:51
pool::RootKeyContainer::~RootKeyContainer
virtual ~RootKeyContainer()
Standard destructor.
DbDatabase.h
Token::OID_t
Definition: Token.h:24
pool::RootKeyContainer::RootKeyContainer
RootKeyContainer(const RootKeyContainer &)=delete
pool::RootKeyContainer::load
virtual DbStatus load(void **ptr, ShapeH shape, const Token::OID_t &linkH, Token::OID_t &oid, bool any_next)
Interface Implementation: Find entry in container.
pool::ShapeH
const class Shape * ShapeH
Definition: DbContainerObj.h:27
pool::RootKeyIOHandler
Definition: RootKeyIOHandler.h:27
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
pool::RootKeyContainer::select
virtual DbStatus select(DbSelect &criteria)
Define selection criteria.
pool::DbOption
Definition: DbOption.h:36
sel
sel
Definition: SUSYToolsTester.cxx:92
pool::RootKeyContainer::size
virtual uint64_t size()
Number of entries within the container.
pool::DbSelect
Definition: DbSelect.h:44
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
pool::RootKeyContainer::loadObject
virtual DbStatus loadObject(void **ptr, ShapeH shape, Token::OID_t &oid)
Find object by object identifier and load it into memory.
pool::RootKeyContainer::close
virtual DbStatus close()
Close the container and deallocate resources.
pool::RootKeyContainer::m_policy
int m_policy
Policy flag.
Definition: RootKeyContainer.h:55
pmontree.opt
opt
Definition: pmontree.py:16
pool::Transaction::Action
Action
Definition: Transaction.h:34
pool::RootKeyContainer::isShapeSupported
virtual DbStatus isShapeSupported(const DbTypeInfo *) const
Ask if a given shape is supported.
Definition: RootKeyContainer.h:79
pool::RootDatabase
Definition: RootDatabase.h:58
python.CaloScaleNoiseConfig.action
action
Definition: CaloScaleNoiseConfig.py:77
pool::RootKeyContainer::nextRecordId
virtual uint64_t nextRecordId()
Number of record in the container.
DbContainerImp.h
pool::RootKeyContainer::RootKeyContainer
RootKeyContainer()
Standard constructor.
pool::RootKeyContainer::fetch
virtual DbStatus fetch(DbSelect &sel)
Fetch next object address of the selection to set token.
pool::RootKeyContainer
Definition: RootKeyContainer.h:45
pool::RootKeyContainer::m_dbH
DbDatabase m_dbH
Parent Database handle.
Definition: RootKeyContainer.h:49
pool::DbContainerImp
Definition: DbContainerImp.h:44
pool::DbDatabase
Definition: DbDatabase.h:53
pool::RootKeyContainer::m_dir
TDirectory * m_dir
Reference to the root tree object.
Definition: RootKeyContainer.h:47
pool::DbTypeInfo
Definition: DbTypeInfo.h:47