ATLAS Offline Software
Loading...
Searching...
No Matches
pool::DbDatabase Class Reference

Description: Handle managing a DbDatabaseObj, a generic Database object. More...

#include <StorageSvc/DbDatabase.h>

Inheritance diagram for pool::DbDatabase:
Collaboration diagram for pool::DbDatabase:

Public Member Functions

 DbDatabase (const DbType &typ=POOL_StorageType)
 Constructor with initializing arguments.
 DbDatabase (const DbDatabase &cp)
 Copy constructor.
 DbDatabase (DbDatabaseObj *obj)
 Constructor.
virtual ~DbDatabase ()
 Standard destructor.
DbDatabaseoperator= (const DbDatabase &copy)
 Assignment (copy) operator.
DbDatabaseoperator= (const int)
 Assignment operator to reset handle using 0.
 DbDatabase (DbDatabase &&cp)
DbDatabaseoperator= (DbDatabase &&cp)
int refCount () const
 Access reference counter.
DbAccessMode openMode () const
 Access to access mode member.
const std::string & name () const
 Access to db name (FID)
void setName (const std::string &nam)
 Set db name (FID) after opening in case opening happened by PFN.
const std::string & logon () const
 Access to db logon string.
long long int size ()
 Access the size of the database: May be undefined for some technologies.
IOODatabasedb ()
 Allow access to the Database implementation.
const IOODatabasedb () const
DbStatus add (const std::string &name, DbContainerObj *cnt)
 Add domain to session.
DbStatus remove (const DbContainerObj *cnt)
 Find domain in session.
const DbContainerObjfind (const std::string &nam) const
 Select container object in Database.
DbContainerObjfind (const std::string &nam)
 Select container object in Database.
const Tokentoken () const
 Access the token of the database object.
const DbDomaincontainedIn () const
 Access to domain object.
DbDomaincontainedIn ()
bool exist (DbDomain &domH, const std::string &nam) const
 Check for existence of Database within domain.
DbStatus open (DbDomain &domH, const std::string &pfn, const std::string &fid, DbAccessMode mode=pool::READ)
 Open Database using given domain.
DbStatus reopen (DbAccessMode mode=pool::READ)
 Re-open database with changing access permissions.
DbStatus close ()
 Close Database.
DbStatus retire ()
 End database access, but still leave database accessible.
bool isOpen () const
 Check if the database was opened.
DbStatus transAct (Transaction::Action action)
 Commit/Rollback Database Transaction.
DbStatus setOption (const DbOption &refOpt)
 Set options.
DbStatus getOption (DbOption &refOpt)
 Access options.
DbStatus addParam (const std::string &nam, const std::string &val)
 Add a persistent parameter to the file.
int nParam ()
 Retrieve the number of user parameters.
DbStatus param (const std::string &nam, std::string &val)
 Retrieve existing parameter by name.
DbStatus params (Parameters &vals)
 Retrieve all parameters.
DbStatus read (const Token &token, ShapeH shape, void **object)
 read an object referenced by the token
DbStatus getLink (const Token::OID_t &oid, Token *pTok)
 Expand OID into a full Token, based on the Links table.
std::string cntName (Token &token)
 Retrieve container name from link container (using token oid, rather than contID)
DbStatus makeLink (Token *pToken, Token::OID_t &linkH)
 Add association link to link container.
DbStatus addShape (const DbTypeInfo *pShape)
 Add persistent shape to the Database.
const DbTypeInfoobjectShape (const RootType &typeH)
 Retrieve persistent type information by class handle.
const DbTypeInfoobjectShape (const Guid &nam)
 Retrieve persistent type information by name.
const DbTypeInfocontShape (const std::string &nam)
 Retrieve persistent type information by container.
const TokencntToken (const std::string &cntName)
 Access local container token (if container exists)
DbStatus containers (std::vector< const Token * > &conts, bool intern=false)
 Allow access to all known containers.
DbStatus containers (std::vector< IDbContainer * > &conts, bool intern=false)
DbStatus associations (std::vector< const Token * > &assocs)
 Allow access to all known associations between containers.
DbStatus shapes (std::vector< const DbTypeInfo * > &shaps)
 Allow access to all known shapes used by the database.
IDbDatabaseinfo ()
 Let the implementation access the internals.
const IDbDatabaseinfo () const
void setAge (int value)
 Update database age.
int age () const
 Access age value.
DbDatabaseObjoperator-> ()
 Dereference operator.
bool operator! () const
 Validity check through operator NOT.
const DbDatabaseObjptr () const
 Access to underlying object.
bool isValid () const
 Validity check (Objy like)
const DbTypetype () const
 Inquire storage type of the handle.

Protected Types

typedef std::pair< std::string, std::string > Parameter
 Parameter definition.
typedef std::vector< ParameterParameters
 Parameter container definition.
typedef DbDatabaseObj _DataType
 Data type definition.
typedef DbHandleBase< _DataTypeBase
 Data type definition.

Protected Member Functions

void switchPtr (DbDatabaseObj *obj)
 Assign transient object properly (including reference counting)
void setType (const DbType &typ)
 Set handle type.
void setPtr (DbDatabaseObj *ptr)
 Set data pointer.

Protected Attributes

DbDatabaseObjm_ptr
 Data member: Object pointer. Sub-classes need access on re-assignment.
DbType m_type
 Data member: Technology type. Sub-classes need access on re-assignment.

Detailed Description

Description: Handle managing a DbDatabaseObj, a generic Database object.

Author
M.Frank
Version
1.0

Definition at line 53 of file DbDatabase.h.

Member Typedef Documentation

◆ _DataType

typedef DbDatabaseObj pool::DbHandleBase< DbDatabaseObj >::_DataType
protectedinherited

Data type definition.

Definition at line 34 of file DbHandleBase.h.

◆ Base

Data type definition.

Definition at line 36 of file DbHandleBase.h.

◆ Parameter

typedef std::pair<std::string, std::string> pool::DbDatabase::Parameter
protected

Parameter definition.

Definition at line 56 of file DbDatabase.h.

◆ Parameters

typedef std::vector< Parameter > pool::DbDatabase::Parameters
protected

Parameter container definition.

Definition at line 58 of file DbDatabase.h.

Constructor & Destructor Documentation

◆ DbDatabase() [1/4]

pool::DbDatabase::DbDatabase ( const DbType & typ = POOL_StorageType)
inlineexplicit

Constructor with initializing arguments.

Definition at line 64 of file DbDatabase.h.

◆ DbDatabase() [2/4]

pool::DbDatabase::DbDatabase ( const DbDatabase & cp)
inline

Copy constructor.

Definition at line 66 of file DbDatabase.h.

66: Base() { switchPtr(cp.m_ptr); }
void switchPtr(DbDatabaseObj *obj)
Assign transient object properly (including reference counting)
DbHandleBase< _DataType > Base

◆ DbDatabase() [3/4]

pool::DbDatabase::DbDatabase ( DbDatabaseObj * obj)
inline

Constructor.

Definition at line 68 of file DbDatabase.h.

68{ switchPtr(obj); }

◆ ~DbDatabase()

virtual pool::DbDatabase::~DbDatabase ( )
inlinevirtual

Standard destructor.

Definition at line 70 of file DbDatabase.h.

70{ switchPtr(0); }

◆ DbDatabase() [4/4]

pool::DbDatabase::DbDatabase ( DbDatabase && cp)
inline

Definition at line 86 of file DbDatabase.h.

87 {
88 setPtr (cp.m_ptr);
89 setType (cp.m_type);
90 cp.setPtr (nullptr);
91 cp.setType(DbType(0));
92 }
void setPtr(DbDatabaseObj *ptr)
void setType(const DbType &typ)

Member Function Documentation

◆ add()

DbStatus pool::DbDatabase::add ( const std::string & name,
DbContainerObj * cnt )

Add domain to session.

◆ addParam()

DbStatus pool::DbDatabase::addParam ( const std::string & nam,
const std::string & val )

Add a persistent parameter to the file.

◆ addShape()

DbStatus pool::DbDatabase::addShape ( const DbTypeInfo * pShape)

Add persistent shape to the Database.

◆ age()

int pool::DbDatabase::age ( ) const

Access age value.

◆ associations()

DbStatus pool::DbDatabase::associations ( std::vector< const Token * > & assocs)

Allow access to all known associations between containers.

◆ close()

DbStatus pool::DbDatabase::close ( )

Close Database.

◆ cntName()

std::string pool::DbDatabase::cntName ( Token & token)

Retrieve container name from link container (using token oid, rather than contID)

◆ cntToken()

const Token * pool::DbDatabase::cntToken ( const std::string & cntName)

Access local container token (if container exists)

◆ containedIn() [1/2]

DbDomain & pool::DbDatabase::containedIn ( )

◆ containedIn() [2/2]

const DbDomain & pool::DbDatabase::containedIn ( ) const

Access to domain object.

◆ containers() [1/2]

DbStatus pool::DbDatabase::containers ( std::vector< const Token * > & conts,
bool intern = false )

Allow access to all known containers.

◆ containers() [2/2]

DbStatus pool::DbDatabase::containers ( std::vector< IDbContainer * > & conts,
bool intern = false )

◆ contShape()

const DbTypeInfo * pool::DbDatabase::contShape ( const std::string & nam)

Retrieve persistent type information by container.

◆ db() [1/2]

IOODatabase * pool::DbDatabase::db ( )

Allow access to the Database implementation.

◆ db() [2/2]

const IOODatabase * pool::DbDatabase::db ( ) const

◆ exist()

bool pool::DbDatabase::exist ( DbDomain & domH,
const std::string & nam ) const

Check for existence of Database within domain.

◆ find() [1/2]

DbContainerObj * pool::DbDatabase::find ( const std::string & nam)

Select container object in Database.

◆ find() [2/2]

const DbContainerObj * pool::DbDatabase::find ( const std::string & nam) const

Select container object in Database.

◆ getLink()

DbStatus pool::DbDatabase::getLink ( const Token::OID_t & oid,
Token * pTok )

Expand OID into a full Token, based on the Links table.

◆ getOption()

DbStatus pool::DbDatabase::getOption ( DbOption & refOpt)

Access options.

Parameters
refOpt[IN] Reference to option object.
Returns
Status code indicating success or failure.

◆ info() [1/2]

IDbDatabase * pool::DbDatabase::info ( )

Let the implementation access the internals.

◆ info() [2/2]

const IDbDatabase * pool::DbDatabase::info ( ) const

◆ isOpen()

bool pool::DbDatabase::isOpen ( ) const

Check if the database was opened.

◆ isValid()

bool pool::DbHandleBase< DbDatabaseObj >::isValid ( ) const
inlineinherited

Validity check (Objy like)

Definition at line 68 of file DbHandleBase.h.

68{ return 0 != m_ptr; }
Description: Definition of the generic database object handle.

◆ logon()

const std::string & pool::DbDatabase::logon ( ) const

Access to db logon string.

◆ makeLink()

DbStatus pool::DbDatabase::makeLink ( Token * pToken,
Token::OID_t & linkH )

Add association link to link container.

◆ name()

const std::string & pool::DbDatabase::name ( ) const

Access to db name (FID)

◆ nParam()

int pool::DbDatabase::nParam ( )

Retrieve the number of user parameters.

◆ objectShape() [1/2]

const DbTypeInfo * pool::DbDatabase::objectShape ( const Guid & nam)

Retrieve persistent type information by name.

◆ objectShape() [2/2]

const DbTypeInfo * pool::DbDatabase::objectShape ( const RootType & typeH)

Retrieve persistent type information by class handle.

◆ open()

DbStatus pool::DbDatabase::open ( DbDomain & domH,
const std::string & pfn,
const std::string & fid,
DbAccessMode mode = pool::READ )

Open Database using given domain.

Parameters
domH[IN] Valid handle to domain object.
pfn[IN] Physical file name of the database.
lfn[IN] Logical file name of the database.
mode[IN] Open mode (Default=READ).
Returns
Status code indicating success or failure.

◆ openMode()

DbAccessMode pool::DbDatabase::openMode ( ) const

Access to access mode member.

◆ operator!()

bool pool::DbHandleBase< DbDatabaseObj >::operator! ( ) const
inlineinherited

Validity check through operator NOT.

Definition at line 63 of file DbHandleBase.h.

63{ return !isValid(); }

◆ operator->()

DbDatabaseObj * pool::DbHandleBase< DbDatabaseObj >::operator-> ( )
inlineinherited

Dereference operator.

Definition at line 60 of file DbHandleBase.h.

60{ return m_ptr; }

◆ operator=() [1/3]

DbDatabase & pool::DbDatabase::operator= ( const DbDatabase & copy)
inline

Assignment (copy) operator.

Definition at line 72 of file DbDatabase.h.

72 {
73 if ( &copy != this ) {
74 m_type = copy.m_type;
75 switchPtr( copy.m_ptr );
76 }
77 return *this;
78 }
bool copy
Definition calibdata.py:26

◆ operator=() [2/3]

DbDatabase & pool::DbDatabase::operator= ( const int )
inline

Assignment operator to reset handle using 0.

Definition at line 80 of file DbDatabase.h.

80 {
81 switchPtr(0);
82 return *this;
83 }

◆ operator=() [3/3]

DbDatabase & pool::DbDatabase::operator= ( DbDatabase && cp)
inline

Definition at line 93 of file DbDatabase.h.

94 {
95 if (&cp != this) {
96 switchPtr (nullptr);
97 setPtr (cp.m_ptr);
98 setType (cp.m_type);
99 cp.setPtr (nullptr);
100 cp.setType(DbType(0));
101 }
102 return *this;
103 }

◆ param()

DbStatus pool::DbDatabase::param ( const std::string & nam,
std::string & val )

Retrieve existing parameter by name.

◆ params()

DbStatus pool::DbDatabase::params ( Parameters & vals)

Retrieve all parameters.

◆ ptr()

const DbDatabaseObj * pool::DbHandleBase< DbDatabaseObj >::ptr ( ) const
inlineinherited

Access to underlying object.

Definition at line 65 of file DbHandleBase.h.

65{ return m_ptr; }

◆ read()

DbStatus pool::DbDatabase::read ( const Token & token,
ShapeH shape,
void ** object )

read an object referenced by the token

◆ refCount()

int pool::DbDatabase::refCount ( ) const

Access reference counter.

◆ remove()

DbStatus pool::DbDatabase::remove ( const DbContainerObj * cnt)

Find domain in session.

◆ reopen()

DbStatus pool::DbDatabase::reopen ( DbAccessMode mode = pool::READ)

Re-open database with changing access permissions.

Parameters
mode[IN] Open mode (Valid modes are READ, UPDATE).
Returns
Status code indicating success or failure.

◆ retire()

DbStatus pool::DbDatabase::retire ( )

End database access, but still leave database accessible.

◆ setAge()

void pool::DbDatabase::setAge ( int value)

Update database age.

◆ setName()

void pool::DbDatabase::setName ( const std::string & nam)

Set db name (FID) after opening in case opening happened by PFN.

◆ setOption()

DbStatus pool::DbDatabase::setOption ( const DbOption & refOpt)

Set options.

Parameters
refOpt[IN] Reference to option object.
Returns
Status code indicating success or failure.

◆ setPtr()

void pool::DbHandleBase< DbDatabaseObj >::setPtr ( DbDatabaseObj * ptr)
inlineprotectedinherited

Set data pointer.

Definition at line 56 of file DbHandleBase.h.

56{ m_ptr=ptr; }

◆ setType()

void pool::DbHandleBase< DbDatabaseObj >::setType ( const DbType & typ)
inlineprotectedinherited

Set handle type.

Definition at line 54 of file DbHandleBase.h.

54{ m_type=typ; }

◆ shapes()

DbStatus pool::DbDatabase::shapes ( std::vector< const DbTypeInfo * > & shaps)

Allow access to all known shapes used by the database.

◆ size()

long long int pool::DbDatabase::size ( )

Access the size of the database: May be undefined for some technologies.

◆ switchPtr()

void pool::DbDatabase::switchPtr ( DbDatabaseObj * obj)
protected

Assign transient object properly (including reference counting)

◆ token()

const Token * pool::DbDatabase::token ( ) const

Access the token of the database object.

◆ transAct()

DbStatus pool::DbDatabase::transAct ( Transaction::Action action)

Commit/Rollback Database Transaction.

Parameters
action[IN] action to perform
Returns
Status code indicating success or failure.

◆ type()

const DbType & pool::DbHandleBase< DbDatabaseObj >::type ( ) const
inlineinherited

Inquire storage type of the handle.

Definition at line 70 of file DbHandleBase.h.

70{ return m_type; }

Member Data Documentation

◆ m_ptr

DbDatabaseObj* pool::DbHandleBase< DbDatabaseObj >::m_ptr
protectedinherited

Data member: Object pointer. Sub-classes need access on re-assignment.

Definition at line 38 of file DbHandleBase.h.

◆ m_type

DbType pool::DbHandleBase< DbDatabaseObj >::m_type
protectedinherited

Data member: Technology type. Sub-classes need access on re-assignment.

Definition at line 40 of file DbHandleBase.h.


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