|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef POOL_DBCONTAINERIMP_H
12 #define POOL_DBCONTAINERIMP_H 1
111 virtual void release()
override {
delete this; }
115 virtual std::string
name()
const override
209 bool any_next)
override;
226 #endif // POOL_DBCONTAINERIMP_H
List of actions to execute at commit.
virtual std::string name() const override
Get container name.
virtual DbStatus update(DbContainer &cntH, const void *object, ShapeH shape, const DbObjectHandle< DbObject > &objH) override
Update existing object in the container.
virtual DbStatus commitTransaction()
Execute object modification requests during a transaction.
virtual DbStatus clearStack()
Clear Transaction stack containing transaction requests.
size_t m_size
Current size of the transaction stack.
virtual DbStatus fetch(const Token::OID_t &linkH, Token::OID_t &stmt)
Fetch refined object address. Default implementation returns identity.
virtual DbStatus fetch(DbSelect &sel) override
Fetch next object address of the selection to set token.
size_t stackSize() const
Access stack size.
DbAction(const void *obj, const Shape *s, const Token::OID_t &l, AccessMode a)
virtual DbStatus save(DbObjectHandle< DbObject > &objH) override
Add single entry to container.
virtual DbStatus free(void *ptr, DbContainer &cntH) override
In place deletion of raw memory.
virtual DbStatus update(DbContainer &cntH, const void *object, ShapeH shape, const Token::OID_t &linkH) override
Update existing object in the container.
std::string m_name
Container name.
virtual uint64_t nextRecordId() override
Number of next record in the container (=size if no delete is allowed)
virtual void useNextRecordId(uint64_t) override
Suggest next Record ID for tbe next object written - used only with synced indexes.
virtual DbStatus updateObject(ActionList::value_type &)
Update persistent object in the container.
virtual DbStatus transAct(Transaction::Action) override
Execute Transaction Action.
const class Shape * ShapeH
virtual DbStatus writeObject(ActionList::value_type &)
Commit single entry to container.
virtual ~DbContainerImp()
Standard destructor.
virtual DbStatus save(DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &linkH) override
Save new object in the container and return its handle.
virtual DbStatus loadObject(void **ptr, ShapeH shape, Token::OID_t &oid)=0
Find object by object identifier and load it into memory.
virtual DbStatus close() override
Close the container and deallocate resources.
virtual DbStatus setOption(const DbOption &opt) override
Set options.
bool m_canUpdate
Flag to indicate if object updates are supported.
AccessMode
Definition of access modes.
std::vector< DbAction > ActionList
const void * dataAtOffset(size_t offset)
virtual bool updatesPending() const override
Query the pending transaction stack.
int m_stackType
Accumulated stack entry types.
virtual uint64_t size() override
Size of the container.
ActionList::value_type * stackEntry(size_t which)
Internal: get access to stack entry.
bool m_canDestroy
Flag to indicate if object removals are supported.
size_t m_writeSize
Number of objects to be written out during open transaction.
virtual void * allocate(unsigned long siz, DbContainer &cntH, ShapeH shape) override
In place allocation of raw memory for the transient object.
virtual DbStatus destroyObject(ActionList::value_type &)
Destroy persistent object in the container; does not touch transient!
virtual DbStatus getOption(DbOption &opt) override
Access options.
ActionList m_stack
Transaction fifo storage for writing.
virtual void release() override
Release instance (Abstract interfaces do not expose destructor!)
virtual DbStatus allocate(DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid) override
In place allocation of object location.
int stackType() const
Access accumulated stack entry types.
This file contains the class definition for the Token class (migrated from POOL).
virtual DbStatus load(void **ptr, ShapeH shape, const Token::OID_t &lnkH, Token::OID_t &oid, bool any_next) override
Find object within the container and load it into memory.
virtual DbStatus destroy(DbSelect &) override
Perform DELETE statement.
virtual DbStatus destroy(const Token::OID_t &lnkH) override
Add the specified object to the delete stack.
virtual DbStatus update(DbSelect &) override
Perform UPDATE statement.