|
| virtual StatusCode | queryInterface (const Guid &riid, void **ppvUnkn)=0 |
| | IInterface implementation: Query interfaces of Interface.
|
| 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, SessionH &session)=0 |
| | Start a new Database Session.
|
| virtual StatusCode | endSession (const SessionH session)=0 |
| | End the Database session.
|
| virtual StatusCode | existsConnection (const SessionH sessionH, int mode, const FileDescriptor &refDB)=0 |
| | Check the existence of a logical Database unit.
|
| virtual StatusCode | connect (const SessionH sessionH, 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 (const SessionH sessionH, DbOption &opt)=0 |
| | Access options for a given database domain.
|
| virtual StatusCode | setDomainOption (const SessionH sessionH, const DbOption &opt)=0 |
| | Set options for a given database domain.
|
The IStorageSvc interface is able to handle user request for.
- transient objects to become persistent and
- persistent objects to be made trasient. What the storage manager however needs to perform this task are object mappings, which translate between the two representations.
The activity of the storage manager includes the Transaction handling and hence the management of
- Database sessions: The Database session handles Databases of one given type. This involves specific handling of a given domain represented by a technology type.
- Database connections: 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 file.
- Database Transactions: Start and end a Transaction.
- Author
- Markus Frank
- Version
- 1.0
Definition at line 56 of file IStorageSvc.h.
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.
- Parameters
-
| sessionH | [IN] Session context to be used to open the Database. |
| 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. |
- Returns
- StatusCode code indicating success or failure.
Implemented in pool::DbStorageSvc.
| virtual StatusCode pool::IStorageSvc::disconnect |
( |
FileDescriptor & | refDB | ) |
|
|
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.
- Parameters
-
| 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. |
- Returns
- StatusCode code indicating success or failure.
Implemented in pool::DbStorageSvc.
| virtual StatusCode pool::IStorageSvc::getDomainOption |
( |
const SessionH | sessionH, |
|
|
DbOption & | opt ) |
|
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.
- Parameters
-
| sessionH | [IN] Session context to be used to open the Database. |
| opt | [IN] Reference to option object. |
- Returns
- StatusCode code indicating success or failure.
Implemented in pool::DbStorageSvc.