ATLAS Offline Software
Public Member Functions | Protected Member Functions | List of all members
pool::IDbContainer Class Referenceabstract

#include <StorageSvc/IDbContainer.h>

Inheritance diagram for pool::IDbContainer:
Collaboration diagram for pool::IDbContainer:

Public Member Functions

virtual void release ()=0
 Release the technology specific implementation. More...
 
virtual uint64_t size ()=0
 Access to container size. More...
 
virtual std::string name () const =0
 Get container name. More...
 
virtual DbStatus setOption (const DbOption &refOpt)=0
 Set options. More...
 
virtual DbStatus getOption (DbOption &refOpt)=0
 Access options. More...
 
virtual DbStatus store (const void *object, DbContainer &cntH, ShapeH shape)=0
 Store object in location. More...
 
virtual DbStatus allocate (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid)=0
 In place allocation of object location. More...
 
virtual uint64_t nextRecordId ()=0
 Number of next record in the container (=size if no delete is allowed) More...
 
virtual void useNextRecordId (uint64_t)=0
 Suggest next Record ID for tbe next object written - used only with synced indexes. More...
 
virtual DbStatus close ()=0
 Close the container. More...
 
virtual DbStatus open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mode)=0
 Open the container. More...
 
virtual DbStatus checkAccess (DbDatabase &dbH, const std::string &nam) const =0
 Check if we can access the container for reading with the given type. More...
 
virtual DbStatus select (DbSelect &sel)=0
 Define selection. More...
 
virtual DbStatus fetch (DbSelect &sel)=0
 Fetch next object address of the selection to set token. More...
 
virtual DbStatus load (void **ptr, ShapeH shape, const Token::OID_t &lnkH, Token::OID_t &oid, bool any_next=false)=0
 Find object within the container and load it into memory. More...
 
virtual DbStatus transAct (Transaction::Action)=0
 Execute Transaction Action. More...
 

Protected Member Functions

virtual ~IDbContainer ()
 Destructor (called only by sub-classes) More...
 

Detailed Description

Description:

Interface to the implementation specific part of a container object objects.

Author
M.Frank
Version
1.0

Definition at line 46 of file IDbContainer.h.

Constructor & Destructor Documentation

◆ ~IDbContainer()

virtual pool::IDbContainer::~IDbContainer ( )
inlineprotectedvirtual

Destructor (called only by sub-classes)

Definition at line 49 of file IDbContainer.h.

49 { }

Member Function Documentation

◆ allocate()

virtual DbStatus pool::IDbContainer::allocate ( DbContainer cntH,
const void *  object,
ShapeH  shape,
Token::OID_t oid 
)
pure virtual

In place allocation of object location.

Implemented in pool::DbContainerImp.

◆ checkAccess()

virtual DbStatus pool::IDbContainer::checkAccess ( DbDatabase dbH,
const std::string &  nam 
) const
pure virtual

Check if we can access the container for reading with the given type.

Implemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.

◆ close()

virtual DbStatus pool::IDbContainer::close ( )
pure virtual

◆ fetch()

virtual DbStatus pool::IDbContainer::fetch ( DbSelect sel)
pure virtual

Fetch next object address of the selection to set token.

Implemented in RNTupleContainer, pool::RootTreeContainer, pool::DbContainerImp, and pool::RootKeyContainer.

◆ getOption()

virtual DbStatus pool::IDbContainer::getOption ( DbOption refOpt)
pure virtual

◆ load()

virtual DbStatus pool::IDbContainer::load ( void **  ptr,
ShapeH  shape,
const Token::OID_t lnkH,
Token::OID_t oid,
bool  any_next = false 
)
pure virtual

Find object within the container and load it into memory.

Parameters
ptr[IN/OUT] ROOT-style address of the pointer to object
shape[IN] Object type
linkH[IN] Preferred object OID
oid[OUT] Actual object OID
any_next[IN] On selection, objects may be skipped. If objects are skipped, the actual oid will differ from the preferred oid.
Returns
Status code indicating success or failure.

Implemented in pool::DbContainerImp, and pool::RootKeyContainer.

◆ name()

virtual std::string pool::IDbContainer::name ( ) const
pure virtual

Get container name.

Implemented in pool::DbContainerImp.

◆ nextRecordId()

virtual uint64_t pool::IDbContainer::nextRecordId ( )
pure virtual

Number of next record in the container (=size if no delete is allowed)

Implemented in RNTupleContainer, pool::RootTreeIndexContainer, pool::DbContainerImp, and pool::RootKeyContainer.

◆ open()

virtual DbStatus pool::IDbContainer::open ( DbDatabase dbH,
const std::string &  nam,
const DbTypeInfo info,
DbAccessMode  mode 
)
pure virtual

◆ release()

virtual void pool::IDbContainer::release ( )
pure virtual

Release the technology specific implementation.

Implemented in pool::DbContainerImp.

◆ select()

virtual DbStatus pool::IDbContainer::select ( DbSelect sel)
pure virtual

Define selection.

Implemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.

◆ setOption()

virtual DbStatus pool::IDbContainer::setOption ( const DbOption refOpt)
pure virtual

◆ size()

virtual uint64_t pool::IDbContainer::size ( )
pure virtual

Access to container size.

Implemented in RNTupleContainer, pool::RootTreeContainer, pool::DbContainerImp, and pool::RootKeyContainer.

◆ store()

virtual DbStatus pool::IDbContainer::store ( const void *  object,
DbContainer cntH,
ShapeH  shape 
)
pure virtual

Store object in location.

Implemented in RNTupleContainer, and pool::DbContainerImp.

◆ transAct()

virtual DbStatus pool::IDbContainer::transAct ( Transaction::Action  )
pure virtual

◆ useNextRecordId()

virtual void pool::IDbContainer::useNextRecordId ( uint64_t  )
pure virtual

Suggest next Record ID for tbe next object written - used only with synced indexes.

Implemented in pool::RootTreeIndexContainer, pool::DbContainerImp, and RNTupleContainer.


The documentation for this class was generated from the following file: