#include <BerkeleyDBStore.h>
Inheritance diagram for oasys::BerkeleyDBTable:
Multiple instances of this object represent multiple uses of the same table.
Definition at line 133 of file BerkeleyDBStore.h.
Public Member Functions | |
~BerkeleyDBTable () | |
int | get (const SerializableObject &key, SerializableObject *data) |
virtual from DurableTableImpl | |
int | get (const SerializableObject &key, SerializableObject **data, TypeCollection::Allocator_t allocator) |
virtual from DurableTableImpl | |
int | put (const SerializableObject &key, TypeCollection::TypeCode_t typecode, const SerializableObject *data, int flags) |
virtual from DurableTableImpl | |
int | del (const SerializableObject &key) |
virtual from DurableTableImpl | |
size_t | size () const |
virtual from DurableTableImpl | |
DurableIterator * | itr () |
virtual from DurableTableImpl | |
Private Member Functions | |
BerkeleyDBTable (const char *logpath, BerkeleyDBStore *store, const std::string &table_name, bool multitype, DB *db, DBTYPE type) | |
Only BerkeleyDBStore can create BerkeleyDBTables. | |
int | key_exists (const void *key, size_t key_len) |
Whether a specific key exists in the table. | |
Private Attributes | |
DB * | db_ |
DBTYPE | db_type_ |
BerkeleyDBStore * | store_ |
Friends | |
class | BerkeleyDBStore |
class | BerkeleyDBIterator |
oasys::BerkeleyDBTable::~BerkeleyDBTable | ( | ) |
Definition at line 584 of file BerkeleyDBStore.cc.
References db_, log_debug, oasys::DurableTableImpl::name(), oasys::BerkeleyDBStore::release_table(), and store_.
oasys::BerkeleyDBTable::BerkeleyDBTable | ( | const char * | logpath, | |
BerkeleyDBStore * | store, | |||
const std::string & | table_name, | |||
bool | multitype, | |||
DB * | db, | |||
DBTYPE | type | |||
) | [private] |
Only BerkeleyDBStore can create BerkeleyDBTables.
Definition at line 571 of file BerkeleyDBStore.cc.
References oasys::BerkeleyDBStore::acquire_table(), and store_.
int oasys::BerkeleyDBTable::get | ( | const SerializableObject & | key, | |
SerializableObject * | data | |||
) | [virtual] |
virtual from DurableTableImpl
Implements oasys::DurableTableImpl.
Definition at line 598 of file BerkeleyDBStore.cc.
References ASSERT, oasys::ScratchBuffer< _memory_t, _static_size >::buf(), oasys::Serialize::CONTEXT_LOCAL, db_, oasys::DS_ERR, oasys::DS_NOTFOUND, oasys::DurableTableImpl::flatten(), log_err, oasys::DurableTableImpl::multitype_, and NO_TX.
int oasys::BerkeleyDBTable::get | ( | const SerializableObject & | key, | |
SerializableObject ** | data, | |||
TypeCollection::Allocator_t | allocator | |||
) | [virtual] |
virtual from DurableTableImpl
Reimplemented from oasys::DurableTableImpl.
Definition at line 637 of file BerkeleyDBStore.cc.
References oasys::SerializeAction::action(), ASSERT, oasys::ScratchBuffer< _memory_t, _static_size >::buf(), oasys::Serialize::CONTEXT_LOCAL, db_, oasys::DS_ERR, oasys::DS_NOTFOUND, oasys::DS_OK, oasys::DurableTableImpl::flatten(), oasys::MarshalSize::get_size(), log_err, oasys::DurableTableImpl::multitype_, NO_TX, and oasys::UIntShim::value().
int oasys::BerkeleyDBTable::put | ( | const SerializableObject & | key, | |
TypeCollection::TypeCode_t | typecode, | |||
const SerializableObject * | data, | |||
int | flags | |||
) | [virtual] |
virtual from DurableTableImpl
Implements oasys::DurableTableImpl.
Definition at line 708 of file BerkeleyDBStore.cc.
References oasys::Marshal::action(), oasys::MarshalSize::action(), oasys::ScratchBuffer< _memory_t, _static_size >::buf(), oasys::Serialize::CONTEXT_LOCAL, db_, oasys::DBTRef::dbt(), oasys::DS_CREATE, oasys::DS_ERR, oasys::DS_EXCL, oasys::DS_EXISTS, oasys::DS_NOTFOUND, oasys::DurableTableImpl::flatten(), oasys::MarshalSize::get_size(), log_debug, log_err, oasys::DurableTableImpl::multitype_, NO_TX, and oasys::MarshalSize::size().
int oasys::BerkeleyDBTable::del | ( | const SerializableObject & | key | ) | [virtual] |
virtual from DurableTableImpl
Implements oasys::DurableTableImpl.
Definition at line 795 of file BerkeleyDBStore.cc.
References db_, oasys::DBTRef::dbt(), oasys::DS_ERR, oasys::DS_NOTFOUND, oasys::DurableTableImpl::flatten(), log_err, and NO_TX.
size_t oasys::BerkeleyDBTable::size | ( | ) | const [virtual] |
virtual from DurableTableImpl
Implements oasys::DurableTableImpl.
Definition at line 826 of file BerkeleyDBStore.cc.
References ASSERT, db_, db_type_, errno, log_crit, and NO_TX.
DurableIterator * oasys::BerkeleyDBTable::itr | ( | ) | [virtual] |
virtual from DurableTableImpl
Implements oasys::DurableTableImpl.
Definition at line 872 of file BerkeleyDBStore.cc.
References BerkeleyDBIterator.
int oasys::BerkeleyDBTable::key_exists | ( | const void * | key, | |
size_t | key_len | |||
) | [private] |
Whether a specific key exists in the table.
Definition at line 879 of file BerkeleyDBStore.cc.
References db_, oasys::DBTRef::dbt(), oasys::DS_ERR, oasys::DS_NOTFOUND, log_err, and NO_TX.
friend class BerkeleyDBStore [friend] |
Definition at line 134 of file BerkeleyDBStore.h.
friend class BerkeleyDBIterator [friend] |
DB* oasys::BerkeleyDBTable::db_ [private] |
Definition at line 161 of file BerkeleyDBStore.h.
Referenced by oasys::BerkeleyDBIterator::BerkeleyDBIterator(), del(), get(), oasys::BerkeleyDBStore::get_table_names(), key_exists(), put(), size(), and ~BerkeleyDBTable().
DBTYPE oasys::BerkeleyDBTable::db_type_ [private] |
BerkeleyDBStore* oasys::BerkeleyDBTable::store_ [private] |
Definition at line 163 of file BerkeleyDBStore.h.
Referenced by BerkeleyDBTable(), and ~BerkeleyDBTable().