![]() |
ATLAS Offline Software
|
The IStorageSvc interface is able to handle user request for. More...
#include <StorageSvc/IStorageSvc.h>
Public Member Functions | |
| virtual unsigned int | addRef ()=0 |
| IInterface implementation: Reference Interface instance. | |
| virtual unsigned int | release ()=0 |
| IInterface implementation: Release Interface instance. | |
| virtual std::string | getContName (FileDescriptor &refDB, Token &pToken)=0 |
| Get container name for object. | |
| virtual StatusCode | allocate (FileDescriptor &refDB, const std::string &refCont, int technology, const void *object, ShapeH shapeH, Token *&refpTok)=0 |
| Register object for write. | |
| virtual StatusCode | read (const FileDescriptor &refDB, const Token &pToken, ShapeH shapeH, void **object)=0 |
| Read a persistent object from the medium. | |
| virtual StatusCode | getShape (FileDescriptor &refDB, const Guid &objType, ShapeH &shapeH)=0 |
| Retrieve persistent shape from Storage manager. | |
| virtual ShapeH | createShape (const Guid &shapeID)=0 |
| Create a Shape representation based on a ShapeID. | |
| virtual StatusCode | startSession (int mode, int tech)=0 |
| Start a new Database Session. | |
| virtual StatusCode | endSession ()=0 |
| End the Database session. | |
| virtual StatusCode | existsConnection (const FileDescriptor &refDB)=0 |
| Check the existence of a logical Database unit. | |
| virtual StatusCode | connect (int mode, FileDescriptor &refDB)=0 |
| Connect to a logical Database unit. | |
| virtual StatusCode | disconnect (FileDescriptor &refDB)=0 |
| Disconnect from a logical Database unit. | |
| virtual StatusCode | openMode (FileDescriptor &refDB, int &mode)=0 |
| Query the access mode of a Database unit. | |
| virtual StatusCode | endTransaction (ConnectionH conn, Transaction::Action typ)=0 |
| End/Finish an existing Transaction sequence. | |
| virtual StatusCode | getDomainOption (DbOption &opt)=0 |
| Access options for a given database domain. | |
| virtual StatusCode | setDomainOption (const DbOption &opt)=0 |
| Set options for a given database domain. | |
Protected Member Functions | |
| virtual | ~IStorageSvc () |
| Destructor (called only by sub-classes) | |
The IStorageSvc interface is able to handle user request for.
The activity of the storage manager includes the Transaction handling and hence the management of
Definition at line 51 of file IStorageSvc.h.
|
inlineprotectedvirtual |
|
pure virtual |
IInterface implementation: Reference Interface instance.
Implemented in pool::DbStorageSvc.
|
pure virtual |
Register object for write.
| refDB | [IN] Reference to Database descriptor |
| refCont | [IN] Reference to container name |
| technology[IN] | Specialised sub-technology |
| object | [IN] Pointer to persistent data object. |
| shapeH | [IN] Handle to persistent type information |
| refpTok | [OUT] Reference to location for storing the pointer of the persistent object token. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Connect to a logical Database unit.
A connection is equivalent to the triple (OCISession, OCIServer, OCISvcCtx) in ORACLE, a login to a datasource using ODBC, or a single federation for Objectivity. For file based technologies, such as root, MS Access, ODBC/Text etc., this is involves the opening of the requested file.
| mode | [IN] Flag to indicate the accessmode of the session. READ, NEW/CREATE/WRITE, UPDATE, RECREATE. |
| refDB | [I/O] Descriptor of the Database to be opened. On successful return the Database handle is valid. |
Implemented in pool::DbStorageSvc.
Create a Shape representation based on a ShapeID.
| shapeID | [IN] Shape identifier. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Disconnect from a logical Database unit.
The request for disconnect requires, that all pending Transactions are already commited. Otherwise data are lost. On disconnection the access to the Database is finalized, closed. The token will be invalidated may not be used at any longer after disconnection.
| refDB | [IN] Descriptor of the Database access. This handle was retrieved when connecting to the logical Database. On successful return the Database handle will be invalidated. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
End the Database session.
The request to end a Database session requires, that all pending Transactions and connections are closed. Otherwise internally the close will be forced and potentially data on pending Transactions will be lost. The token will be invalidated may not be used at any longer once the session ended.
Implemented in pool::DbStorageSvc.
|
pure virtual |
End/Finish an existing Transaction sequence.
At this phase all objects, which were marked for write when the Transaction was started, are either going to be made persistent or scratched. After the Transaction ended, the Transaction context is invalidated and may no longer be used independent wether the Transaction was successful or not.
| conn | [IN] Database connection |
| typ | [IN] Enum indicating an action to be performed. Valid arguments are COMMIT |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Check the existence of a logical Database unit.
| refDB | [I/O] Descriptor of the Database to be opened. On successful return the Database handle is valid. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Get container name for object.
| refDB | [IN] Reference to Database descriptor |
| pToken | [IN] Token to the persistent object. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Access options for a given database domain.
Domain options are global options, which refer to the database technology and not to a particular connection.
Note: The options depend on the underlying implementation and are not normalized.
| opt | [IN] Reference to option object. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Retrieve persistent shape from Storage manager.
The persistent shape is saved at write time to a Database. To match the transient shape of an object to the persistent shape of the data at the time the data were written should allow for schema evolution and object transformation(s).
| refDB | [IN] Reference to Database descriptor |
| objType | [IN] Shape identifier. |
| shapeH | [OUT] Handle to persistent mapping of a given object type. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Query the access mode of a Database unit.
| refDB | [IN] Descriptor of the Database to be queried. |
| mode | [OUT] Open mod to the database. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Read a persistent object from the medium.
Reading an object does not create the object.
| refDB | [IN] Reference to Database descriptor |
| pToken | [IN] Reference to persistent token information. |
| object | [OUT] Pointer to persistent data pointer. |
| shapeH | [IN] Desired object shape to be read |
Implemented in pool::DbStorageSvc.
|
pure virtual |
IInterface implementation: Release Interface instance.
Implemented in pool::DbStorageSvc.
|
pure virtual |
Set options for a given database domain.
Domain options are global options, which refer to the database technology and not to a particular connection.
Note: The options depend on the underlying implementation and are not normalized.
| opt | [IN] Reference to option object. |
Implemented in pool::DbStorageSvc.
|
pure virtual |
Start a new Database Session.
The Database session handles Databases of one given type. This involves specific handling of a given domain represented by a technology type. All subsequent actions involving Database actions will re-use this technology identifier. The session is a purely logical concept, which typically cannot fail unless the underlying technology requires global initialization calls.
| mode | [IN] Flag to indicate the accessmode of the session. READ, NEW/CREATE/WRITE, UPDATE, RECREATE |
| tech | [IN] Flag indicating the technology type of the Database the user wants to connect to. |
Implemented in pool::DbStorageSvc.