ATLAS Offline Software
Loading...
Searching...
No Matches
pool::IDbContainer Class Referenceabstract

Description: More...

#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.
virtual uint64_t size ()=0
 Access to container size.
virtual std::string name () const =0
 Get container name.
virtual DbStatus setOption (const DbOption &refOpt)=0
 Set options.
virtual DbStatus getOption (DbOption &refOpt)=0
 Access options.
virtual DbStatus store (const void *object, DbContainer &cntH, ShapeH shape)=0
 Store object in location.
virtual DbStatus allocate (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid)=0
 In place allocation of object location.
virtual uint64_t nextRecordId ()=0
 Number of next record in the container (=size if no delete is allowed)
virtual void useNextRecordId (uint64_t)=0
 Suggest next Record ID for tbe next object written - used only with synced indexes.
virtual DbStatus close ()=0
 Close the container.
virtual DbStatus open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mode)=0
 Open the container.
virtual DbStatus checkAccess (DbDatabase &dbH, const std::string &nam) const =0
 Check if we can access the container for reading with the given type.
virtual DbStatus select (DbSelect &sel)=0
 Define selection.
virtual DbStatus fetch (DbSelect &sel)=0
 Fetch next object address of the selection to set token.
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.
virtual DbStatus transAct (Transaction::Action)=0
 Execute Transaction Action.

Protected Member Functions

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

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 pool::RootKeyContainer, pool::RootTreeContainer, and RNTupleContainer.

◆ 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 pool::DbContainerImp, pool::RootKeyContainer, pool::RootTreeContainer, and RNTupleContainer.

◆ 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 pool::DbContainerImp, pool::RootKeyContainer, pool::RootTreeIndexContainer, and RNTupleContainer.

◆ 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 pool::RootKeyContainer, pool::RootTreeContainer, and RNTupleContainer.

◆ 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 pool::DbContainerImp, pool::RootKeyContainer, pool::RootTreeContainer, and RNTupleContainer.

◆ store()

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

Store object in location.

Implemented in pool::DbContainerImp, and RNTupleContainer.

◆ 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::DbContainerImp, pool::RootTreeIndexContainer, and RNTupleContainer.


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