NCBI C++ ToolKit
|
Search Toolkit Book for CPubseqGatewayCacheBioseqInfo
#include "psg_cache_bioseq_info.hpp"
(Private to src/objtools/pubseq_gateway/cache
.)
Public Member Functions | |
CPubseqGatewayCacheBioseqInfo (const string &file_name) | |
~CPubseqGatewayCacheBioseqInfo () override | |
void | Open () |
vector< CBioseqInfoRecord > | Fetch (CBioseqInfoFetchRequest const &request) |
vector< CBioseqInfoRecord > | FetchLast (void) |
![]() | |
CPubseqGatewayCacheBase (const string &file_name) | |
virtual | ~CPubseqGatewayCacheBase ()=default |
void | Open () |
void | UseReadAhead (bool value) |
Static Public Member Functions | |
static string | PackKey (const string &accession, int version) |
static string | PackKey (const string &accession, int version, int seq_id_type) |
static string | PackKey (const string &accession, int version, int seq_id_type, int64_t gi) |
static bool | UnpackKey (const char *key, size_t key_sz, int &version, int &seq_id_type, int64_t &gi) |
static bool | UnpackKey (const char *key, size_t key_sz, string &accession, int &version, int &seq_id_type, int64_t &gi) |
Private Member Functions | |
bool | x_ExtractRecord (CBioseqInfoRecord &record, lmdb::val const &value) const |
string | x_MakeLookupKey (CBioseqInfoFetchRequest const &request) const |
bool | x_IsMatchingRecord (CBioseqInfoFetchRequest const &request, int version, int seq_id_type, int64_t gi) const |
void | ResetDbi () |
Private Attributes | |
unique_ptr< lmdb::dbi, function< void(lmdb::dbi *)> > | m_Dbi |
Additional Inherited Members | |
![]() | |
CLMDBReadOnlyTxn | BeginReadTxn () |
![]() | |
string | m_FileName |
unique_ptr< lmdb::env > | m_Env |
Definition at line 47 of file psg_cache_bioseq_info.hpp.
|
explicit |
Definition at line 82 of file psg_cache_bioseq_info.cpp.
|
overridedefault |
vector< CBioseqInfoRecord > CPubseqGatewayCacheBioseqInfo::Fetch | ( | CBioseqInfoFetchRequest const & | request | ) |
Definition at line 167 of file psg_cache_bioseq_info.cpp.
References CPubseqGatewayCacheBase::BeginReadTxn(), CBioseqInfoFetchRequest::eAccession, CBioseqInfoFetchRequest::GetAccession(), CBioseqInfoFetchRequest::HasField(), ncbi::grid::netcache::search::fields::key, m_Dbi, MDB_GET_CURRENT, MDB_NEXT, MDB_SET_RANGE, lmdb::cursor::open(), PackedKeySize(), UnpackKey(), val, dtl::version, x_ExtractRecord(), x_IsMatchingRecord(), and x_MakeLookupKey().
Referenced by ApplyInheritedSeqIds().
vector< CBioseqInfoRecord > CPubseqGatewayCacheBioseqInfo::FetchLast | ( | void | ) |
Definition at line 215 of file psg_cache_bioseq_info.cpp.
References CPubseqGatewayCacheBase::BeginReadTxn(), ncbi::grid::netcache::search::fields::key, m_Dbi, MDB_LAST, MDB_NEXT, lmdb::cursor::open(), UnpackKey(), val, dtl::version, and x_ExtractRecord().
void CPubseqGatewayCacheBioseqInfo::Open | ( | void | ) |
Definition at line 89 of file psg_cache_bioseq_info.cpp.
References CPubseqGatewayCacheBase::BeginReadTxn(), lmdb::dbi::close(), m_Dbi, CPubseqGatewayCacheBase::m_Env, CPubseqGatewayCacheBase::Open(), and lmdb::dbi::open().
Definition at line 247 of file psg_cache_bioseq_info.cpp.
References kPackedVersionSz, kPackedZeroSz, CPubseqGatewayCachePackBytes::Pack(), and dtl::version.
Referenced by CPubseqGatewayCache::PackBioseqInfoKey(), and x_MakeLookupKey().
|
static |
Definition at line 258 of file psg_cache_bioseq_info.cpp.
References kPackedSeqIdTypeSz, kPackedVersionSz, kPackedZeroSz, CPubseqGatewayCachePackBytes::Pack(), and dtl::version.
|
static |
Definition at line 270 of file psg_cache_bioseq_info.cpp.
References kPackedGISz, kPackedSeqIdTypeSz, kPackedVersionSz, kPackedZeroSz, CPubseqGatewayCachePackBytes::Pack(), and dtl::version.
|
private |
|
static |
Definition at line 284 of file psg_cache_bioseq_info.cpp.
References ncbi::grid::netcache::search::fields::key, kPackedGISz, kPackedSeqIdTypeSz, kPackedVersionSz, kPackedZeroSz, CPubseqGatewayCacheUnpackBytes::Unpack(), and dtl::version.
Referenced by Fetch(), FetchLast(), CPubseqGatewayCache::UnpackBioseqInfoKey(), and UnpackKey().
|
static |
Definition at line 302 of file psg_cache_bioseq_info.cpp.
References ncbi::grid::netcache::search::fields::key, kPackedGISz, kPackedSeqIdTypeSz, kPackedVersionSz, kPackedZeroSz, UnpackKey(), and dtl::version.
|
private |
Definition at line 142 of file psg_cache_bioseq_info.cpp.
References info, set< Key, Compare >::insert(), CBioseqInfoRecord::SetDateChanged(), CBioseqInfoRecord::SetHash(), CBioseqInfoRecord::SetLength(), CBioseqInfoRecord::SetMol(), CBioseqInfoRecord::SetName(), CBioseqInfoRecord::SetSat(), CBioseqInfoRecord::SetSatKey(), CBioseqInfoRecord::SetSeqIds(), CBioseqInfoRecord::SetSeqState(), CBioseqInfoRecord::SetState(), CBioseqInfoRecord::SetTaxId(), and rapidjson::value.
Referenced by Fetch(), and FetchLast().
|
private |
Definition at line 124 of file psg_cache_bioseq_info.cpp.
References CBioseqInfoFetchRequest::eGI, CBioseqInfoFetchRequest::eSeqIdType, CBioseqInfoFetchRequest::eVersion, CBioseqInfoFetchRequest::GetGI(), CBioseqInfoFetchRequest::GetSeqIdType(), CBioseqInfoFetchRequest::GetVersion(), CBioseqInfoFetchRequest::HasField(), and dtl::version.
Referenced by Fetch().
|
private |
Definition at line 106 of file psg_cache_bioseq_info.cpp.
References CBioseqInfoFetchRequest::eGI, CBioseqInfoFetchRequest::eSeqIdType, CBioseqInfoFetchRequest::eVersion, CBioseqInfoFetchRequest::GetAccession(), CBioseqInfoFetchRequest::GetGI(), CBioseqInfoFetchRequest::GetSeqIdType(), CBioseqInfoFetchRequest::GetVersion(), CBioseqInfoFetchRequest::HasField(), and PackKey().
Referenced by Fetch().
Definition at line 70 of file psg_cache_bioseq_info.hpp.
Referenced by Fetch(), FetchLast(), and Open().