1 #ifndef BDB___CURSOR_HPP__
2 #define BDB___CURSOR_HPP__
149 void InitMultiFetch(
size_t buffer_size, EMultiFetchMode mfm = eFetchAll);
157 void SetCondition(ECondition cond_from, ECondition cond_to =
eNotSet);
159 void SetFetchDirection(EFetchDirection fdir);
161 EFetchDirection GetReverseFetchDirection()
const;
162 void ReverseFetchDirection();
208 const void* GetLastMultiFetchData()
const;
212 size_t GetLastMultiFetchDataLen()
const;
215 TRecordCount KeyDupCount()
const;
240 void ResetFirstFetched();
260 void x_FetchFirst_Prolog(
unsigned int& flag);
BDB Data Field Buffer manager class.
File cursor condition handle.
Internal class used by CBDB_FileCursor to represent search condition criteries.
Berkeley DB file cursor class.
Multirow buffer for reading many rows in one call.
Reallocable memory buffer (no memory copy overhead) Mimics vector<>, without the overhead of explicit...
BDB Data Field conversion interface definition.
CNcbiOstream & operator<<(CNcbiOstream &out, const CEquivRange &range)
IBDB_FieldConvert & GetFieldConvert(CBDB_BufferManager &buf, unsigned int n)
Return next field's IBDB_FieldConvert interface (hidden cast to non-public parent class)
CBDB_CursorGuard(CBDB_FileCursor &cur)
CBDB_CursorGuard & operator=(const CBDB_CursorGuard &)
bool m_FirstFetched
Flag if FetchFirst is already been done.
unsigned long TRecordCount
bool m_LastMultiFetchSuccess
when true, last multifetch was successfull
void SetFetchDirection(EFetchDirection fdir)
CBDB_FC_Condition & m_Condition
CBDB_FileCursor(const CBDB_FileCursor &)
forbidden
EFetchDirection GetReverseFetchDirection() const
unsigned int m_FetchFlags
Type of locking (conventional or RMW)
ECondition m_CondTo
To condition proxy-object.
ECursorUpdateType
Type of locking when fetching records.
EMultiFetchMode
Fetch mode regulates multi-row fetches eFetchAll (default mode) when buffer ends, cursor automaticall...
CBDB_MultiRowBuffer * m_MultiRowBuf
Buffer class for multiple fetch.
EFetchDirection GetFetchDirection() const
void Close()
Close underlying cursor.
EReallocMode
BLOB read mode, controld data buffer reallocation when there is not enough space in buffer.
EFetchDirection m_FetchDirection
Fetch direction (forward/backward)
EMultiFetchMode m_MultiFetchMode
Multifetch control mode.
CBDB_File & m_Dbf
Reference on the "mother" file.
EBDB_ErrCode
BDB Return codes.
void ResetFirstFetched()
Set m_FirstFetched field to FALSE.
ECondition m_CondFrom
From condition proxy-object.
void ReverseFetchDirection()
CBDB_ConditionHandle From
CBDB_CursorGuard(CBDB_CursorGuard &)
CBDB_File & GetDBFile()
Return database file on which cursor is based.
DBC * m_DBC
Berkeley DB DBC thing.
@ eDiscardData
Invalidate the inserted data immediately after write.
@ eReadUpdate
Default mode: optional update after read.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const struct ncbi::grid::netcache::search::fields::SIZE size