NCBI C++ ToolKit
Classes | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends
BDB library field types
+ Collaboration diagram for BDB library field types:

Classes

class  IBDB_Field
 BDB Data Field interface definition. More...
 
class  IBDB_FieldConvert
 BDB Data Field conversion interface definition. More...
 
class  CBDB_FieldInterfaces
 Interface definition class for field construction. More...
 
class  CBDB_Field
 Base class for constructing BDB fields. More...
 
class  CBDB_FieldSimple< T >
 Template class for building simple scalar data fields. More...
 
class  CBDB_FieldSimpleInt< T >
 Template class for building simple scalar integer compatible data fields. More...
 
class  CBDB_FieldSimpleFloat< T >
 Template class for building simple scalar floating point compatible fields. More...
 
class  CBDB_FieldInt8
 Int8 field type. More...
 
class  CBDB_FieldUint8
 Uint8 field type. More...
 
class  CBDB_FieldInt4
 Int4 field type. More...
 
class  CBDB_FieldInt2
 Int2 field type. More...
 
class  CBDB_FieldUint2
 Uint2 field type. More...
 
class  CBDB_FieldUChar
 Char field type. More...
 
class  CBDB_FieldChar
 
class  CBDB_FieldInt1
 Int1 field type. More...
 
class  CBDB_FieldUint1
 Uint1 field type. More...
 
class  CBDB_FieldUint4
 Uint4 field type. More...
 
class  CBDB_FieldFloat
 Float field type. More...
 
class  CBDB_FieldDouble
 Double precision floating point field type. More...
 
class  CBDB_FieldFixedByteString
 Fixed length bytestring. More...
 
class  CBDB_FieldStringBase
 String field type. More...
 
class  CBDB_FieldString
 String field type designed to work with C-strings (ASCIIZ) More...
 
class  CBDB_FieldStringCase
 Case-insensitive (but case preserving) string field type. More...
 
class  CBDB_FieldLString
 Length prefised string field type. More...
 
class  CBDB_BufferManager
 BDB Data Field Buffer manager class. More...
 
class  CBDB_FieldFactory
 Class factory for BDB field types. More...
 
struct  SBDB_TypeTraits< Type >
 Type trait classes for finding the correct BDB field type automagically. More...
 
struct  SBDB_TypeTraits< Int1 >
 8-bit signed and unsigned integral types More...
 
struct  SBDB_TypeTraits< Uint1 >
 
struct  SBDB_TypeTraits< Int2 >
 16-bit signed and unsigned integral types More...
 
struct  SBDB_TypeTraits< Uint2 >
 
struct  SBDB_TypeTraits< Int4 >
 32-bit signed and unsigned integral types More...
 
struct  SBDB_TypeTraits< Uint4 >
 
struct  SBDB_TypeTraits< Int8 >
 64-bit signed and unsigned integral types More...
 
struct  SBDB_TypeTraits< Uint8 >
 
struct  SBDB_TypeTraits< string >
 string types More...
 
struct  SBDB_TypeTraits< float >
 32- and 64- bit floating point types More...
 
struct  SBDB_TypeTraits< double >
 

Typedefs

typedef T CBDB_FieldSimple< T >::TFieldType
 
typedef CBDB_FieldString CBDB_FieldStringCase::CParent
 
typedef vector< CBDB_Field * > CBDB_BufferManager::TFieldVector
 
typedef Type SBDB_TypeTraits< Type >::TType
 
typedef void * SBDB_TypeTraits< Type >::TFieldType
 
typedef Int4 SBDB_TypeTraits< Int1 >::TType
 
typedef CBDB_FieldInt1 SBDB_TypeTraits< Int1 >::TFieldType
 
typedef Uint4 SBDB_TypeTraits< Uint1 >::TType
 
typedef CBDB_FieldUint1 SBDB_TypeTraits< Uint1 >::TFieldType
 
typedef Int4 SBDB_TypeTraits< Int2 >::TType
 
typedef CBDB_FieldInt2 SBDB_TypeTraits< Int2 >::TFieldType
 
typedef Uint4 SBDB_TypeTraits< Uint2 >::TType
 
typedef CBDB_FieldUint2 SBDB_TypeTraits< Uint2 >::TFieldType
 
typedef Int4 SBDB_TypeTraits< Int4 >::TType
 
typedef CBDB_FieldInt4 SBDB_TypeTraits< Int4 >::TFieldType
 
typedef Uint4 SBDB_TypeTraits< Uint4 >::TType
 
typedef CBDB_FieldUint4 SBDB_TypeTraits< Uint4 >::TFieldType
 
typedef Int8 SBDB_TypeTraits< Int8 >::TType
 
typedef CBDB_FieldInt8 SBDB_TypeTraits< Int8 >::TFieldType
 
typedef Uint8 SBDB_TypeTraits< Uint8 >::TType
 
typedef CBDB_FieldUint8 SBDB_TypeTraits< Uint8 >::TFieldType
 
typedef string SBDB_TypeTraits< string >::TType
 
typedef CBDB_FieldString SBDB_TypeTraits< string >::TFieldType
 
typedef float SBDB_TypeTraits< float >::TType
 
typedef CBDB_FieldFloat SBDB_TypeTraits< float >::TFieldType
 
typedef double SBDB_TypeTraits< double >::TType
 
typedef CBDB_FieldDouble SBDB_TypeTraits< double >::TFieldType
 

Enumerations

enum  CBDB_Field::ELengthType { CBDB_Field::eFixedLength , CBDB_Field::eVariableLength }
 Length based classificator for fields (fixed-variable) More...
 
enum  CBDB_FieldStringBase::EOverflowAction { CBDB_FieldStringBase::eThrowOnOverflow , CBDB_FieldStringBase::eTruncateOnOverflow , CBDB_FieldStringBase::eTruncateOnOverflowLogError }
 
enum  CBDB_FieldFactory::EType {
  CBDB_FieldFactory::eUnknown , CBDB_FieldFactory::eString , CBDB_FieldFactory::eLString , CBDB_FieldFactory::eInt8 ,
  CBDB_FieldFactory::eInt4 , CBDB_FieldFactory::eUint4 , CBDB_FieldFactory::eInt2 , CBDB_FieldFactory::eUint1 ,
  CBDB_FieldFactory::eFloat , CBDB_FieldFactory::eDouble , CBDB_FieldFactory::eUChar , CBDB_FieldFactory::eBlob
}
 

Functions

int BDB_UintCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "unsigned int" keys. More...
 
int BDB_Uint4Compare (DB *, const DBT *val1, const DBT *val2)
 
int BDB_IntCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "int" keys. More...
 
int BDB_Int4Compare (DB *, const DBT *val1, const DBT *val2)
 
int BDB_Int8Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "Int8" keys. More...
 
int BDB_Uint8Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "Uint8" keys. More...
 
int BDB_Int2Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "short int" keys. More...
 
int BDB_Uint2Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "unsigned short int" keys. More...
 
int BDB_CharCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "char" keys. More...
 
int BDB_UCharCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "unsigned char" keys. More...
 
int BDB_FloatCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "float" keys. More...
 
int BDB_DoubleCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "double" keys. More...
 
int BDB_StringCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "C string" keys. More...
 
int BDB_LStringCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented length prefixed string keys. More...
 
int BDB_FixedByteStringCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented fixed length string keys. More...
 
int BDB_StringCaseCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "case insensitive C string" keys. More...
 
int BDB_Compare (DB *db, const DBT *val1, const DBT *val2)
 General purpose DBD comparison function. More...
 
int BDB_ByteSwap_UintCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "unsigned int" keys. More...
 
int BDB_ByteSwap_Uint4Compare (DB *, const DBT *val1, const DBT *val2)
 
int BDB_ByteSwap_Int8Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "Int8" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_Uint8Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "Uint8" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_IntCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "int" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_Int4Compare (DB *, const DBT *val1, const DBT *val2)
 
int BDB_ByteSwap_Int2Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "short int" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_Uint2Compare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "unsigned short int" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_FloatCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "float" keys Used when the data file is in a different byte order architecture. More...
 
int BDB_ByteSwap_DoubleCompare (DB *, const DBT *val1, const DBT *val2)
 Simple and fast comparison function for tables with non-segmented "double" keys Used when the data file is in a different byte order architecture. More...
 
unsigned int BDB_Hash (DB *, const void *bytes, unsigned length)
 General purpose hash function. More...
 
unsigned int BDB_Uint4Hash (DB *, const void *bytes, unsigned length)
 Hash method for databases with a single (unique) UInt4 key. More...
 
virtual IBDB_Field::~IBDB_Field ()
 
virtual int IBDB_Field::Compare (const void *p1, const void *p2, bool byte_swapped) const =0
 Comparison function. More...
 
virtual size_t IBDB_Field::GetDataLength (const void *buf) const =0
 Return current effective size of the buffer. More...
 
virtual void IBDB_Field::SetMinVal ()=0
 Set minimal possible value for the field type. More...
 
virtual void IBDB_Field::SetMaxVal ()=0
 Set maximum possible value for the field type. More...
 
virtual IBDB_FieldConvert::~IBDB_FieldConvert ()
 
virtual void IBDB_FieldConvert::SetInt (int)
 
virtual void IBDB_FieldConvert::SetUint (unsigned)
 
virtual int IBDB_FieldConvert::GetInt () const
 
virtual unsigned IBDB_FieldConvert::GetUint () const
 
virtual void IBDB_FieldConvert::SetString (const char *)
 
virtual void IBDB_FieldConvert::SetStdString (const string &)
 
virtual void IBDB_FieldConvert::SetFloat (float)
 
virtual void IBDB_FieldConvert::SetDouble (double)
 
virtual string IBDB_FieldConvert::GetString () const =0
 
virtual void IBDB_FieldConvert::ToString (string &str) const =0
 
 CBDB_Field::CBDB_Field (ELengthType length_type=eFixedLength)
 
virtual CBDB_Field::~CBDB_Field ()
 
virtual CBDB_FieldCBDB_Field::Construct (size_t buf_size=0) const =0
 Virtual constructor - class factory for BDB fields. More...
 
virtual BDB_CompareFunction CBDB_Field::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
bool CBDB_Field::IsNullable () const
 Return TRUE if field can be NULL. More...
 
void CBDB_Field::SetNull ()
 Assign field value to NULL. More...
 
bool CBDB_Field::IsNull () const
 Return TRUE if field is NULL. More...
 
const stringCBDB_Field::GetName () const
 Return symbolic name for the field. More...
 
const void * CBDB_Field::GetBuffer () const
 Get pointer to the data. NULL if not yet attached. More...
 
void * CBDB_Field::GetBuffer ()
 Get pointer to the data. NULL if not yet attached. More...
 
size_t CBDB_Field::GetBufferSize () const
 Return maximum possible buffer length. More...
 
size_t CBDB_Field::GetLength () const
 Get length of the actual data. More...
 
int CBDB_Field::CompareWith (const CBDB_Field &field) const
 Field comparison function. More...
 
void CBDB_Field::CopyFrom (const CBDB_Field &src)
 Copies field value from another field. More...
 
bool CBDB_Field::IsVariableLength () const
 Return TRUE if it is a variable length variable (like string) More...
 
bool CBDB_Field::IsBufferAttached () const
 Return TRUE if external buffer has already been attached. More...
 
bool CBDB_Field::IsSameType (const CBDB_Field &field) const
 RTTI based check if fld is of the same type. More...
 
bool CBDB_Field::IsByteSwapped () const
 Return TRUE if field belongs to a file with an alternative byte order. More...
 
void CBDB_Field::SetNullable ()
 Mark field as "NULL" capable. More...
 
void CBDB_Field::SetNotNull ()
 Set "is NULL" flag to FALSE. More...
 
void CBDB_Field::SetName (const char *name)
 Set symbolic name for the field. More...
 
void CBDB_Field::SetBufferIdx (unsigned int idx)
 Set field position in the buffer manager. More...
 
void * CBDB_Field::Unpack ()
 Unpack the buffer which contains this field (using CBDB_BufferManager). More...
 
void CBDB_Field::SetBuffer (void *buf, size_t buf_size=0)
 Set external buffer pointer and length. More...
 
void CBDB_Field::SetBufferSize (size_t size)
 Set the buffer size. More...
 
void CBDB_Field::SetDataSize (size_t size)
 Set data size, taking into account possible extra data for some fields. More...
 
virtual size_t CBDB_Field::GetExtraDataLength ()
 Hook for defining extra data length. More...
 
void CBDB_Field::SetBufferManager (CBDB_BufferManager *owner)
 Set CBDB_BufferManager – which works as a memory manager for BDB fields. More...
 
void CBDB_Field::CopyFrom (const void *src_buf)
 Copy buffer value from the external source. More...
 
CBDB_FieldCBDB_Field::operator= (const CBDB_Field &data)
 
 CBDB_Field::CBDB_Field (const CBDB_Field &data)
 
 CBDB_FieldSimple< T >::CBDB_FieldSimple ()
 
void CBDB_FieldSimple< T >::SetField (const CBDB_FieldSimple &field)
 
virtual int CBDB_FieldSimple< T >::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
virtual size_t CBDB_FieldSimple< T >::GetDataLength (const void *) const
 Return current effective size of the buffer. More...
 
 CBDB_FieldSimpleInt< T >::CBDB_FieldSimpleInt ()
 
void CBDB_FieldSimpleInt< T >::Set (T val)
 
virtual void CBDB_FieldSimpleInt< T >::SetInt (int val)
 
virtual void CBDB_FieldSimpleInt< T >::SetUint (unsigned int val)
 
virtual void CBDB_FieldSimpleInt< T >::SetString (const char *val)
 
virtual int CBDB_FieldSimpleInt< T >::GetInt () const
 
virtual unsigned CBDB_FieldSimpleInt< T >::GetUint () const
 
virtual void CBDB_FieldSimpleInt< T >::SetStdString (const string &str)
 
virtual int CBDB_FieldSimpleInt< T >::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
virtual void CBDB_FieldSimpleInt< T >::SetMinVal ()
 Set minimal possible value for the field type. More...
 
virtual void CBDB_FieldSimpleInt< T >::SetMaxVal ()
 Set maximum possible value for the field type. More...
 
 CBDB_FieldSimpleFloat< T >::CBDB_FieldSimpleFloat ()
 
void CBDB_FieldSimpleFloat< T >::Set (T val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetInt (int val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetUint (unsigned int val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetString (const char *val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetStdString (const string &str)
 
virtual void CBDB_FieldSimpleFloat< T >::SetFloat (float val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetDouble (double val)
 
virtual void CBDB_FieldSimpleFloat< T >::SetMinVal ()
 Set minimal possible value for the field type. More...
 
virtual void CBDB_FieldSimpleFloat< T >::SetMaxVal ()
 Set maximum possible value for the field type. More...
 
CBDB_FieldInt8CBDB_FieldInt8::operator= (Int8 val)
 
CBDB_FieldInt8CBDB_FieldInt8::operator= (const CBDB_FieldInt8 &val)
 
virtual CBDB_FieldCBDB_FieldInt8::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Int8 CBDB_FieldInt8::Get () const
 
virtual string CBDB_FieldInt8::GetString () const
 
virtual void CBDB_FieldInt8::ToString (string &str) const
 
 CBDB_FieldInt8::operator Int8 () const
 
virtual BDB_CompareFunction CBDB_FieldInt8::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldInt8::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldUint8CBDB_FieldUint8::operator= (Uint8 val)
 
CBDB_FieldUint8CBDB_FieldUint8::operator= (const CBDB_FieldUint8 &val)
 
virtual CBDB_FieldCBDB_FieldUint8::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Uint8 CBDB_FieldUint8::Get () const
 
virtual string CBDB_FieldUint8::GetString () const
 
virtual void CBDB_FieldUint8::ToString (string &str) const
 
 CBDB_FieldUint8::operator Uint8 () const
 
virtual BDB_CompareFunction CBDB_FieldUint8::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldUint8::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldInt4CBDB_FieldInt4::operator= (Int4 val)
 
CBDB_FieldInt4CBDB_FieldInt4::operator= (const CBDB_FieldInt4 &val)
 
virtual CBDB_FieldCBDB_FieldInt4::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Int4 CBDB_FieldInt4::Get () const
 
virtual string CBDB_FieldInt4::GetString () const
 
virtual void CBDB_FieldInt4::ToString (string &str) const
 
 CBDB_FieldInt4::operator Int4 () const
 
virtual BDB_CompareFunction CBDB_FieldInt4::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldInt4::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldInt2CBDB_FieldInt2::operator= (Int2 val)
 
CBDB_FieldInt2CBDB_FieldInt2::operator= (const CBDB_FieldInt2 &val)
 
virtual CBDB_FieldCBDB_FieldInt2::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Int2 CBDB_FieldInt2::Get () const
 
virtual string CBDB_FieldInt2::GetString () const
 
virtual void CBDB_FieldInt2::ToString (string &str) const
 
 CBDB_FieldInt2::operator Int2 () const
 
virtual BDB_CompareFunction CBDB_FieldInt2::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldInt2::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldUint2CBDB_FieldUint2::operator= (Uint2 val)
 
CBDB_FieldUint2CBDB_FieldUint2::operator= (const CBDB_FieldUint2 &val)
 
virtual CBDB_FieldCBDB_FieldUint2::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Uint2 CBDB_FieldUint2::Get () const
 
virtual string CBDB_FieldUint2::GetString () const
 
virtual void CBDB_FieldUint2::ToString (string &str) const
 
 CBDB_FieldUint2::operator Uint2 () const
 
virtual BDB_CompareFunction CBDB_FieldUint2::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldUint2::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldUCharCBDB_FieldUChar::operator= (unsigned char val)
 
CBDB_FieldUCharCBDB_FieldUChar::operator= (const CBDB_FieldUChar &val)
 
virtual CBDB_FieldCBDB_FieldUChar::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
unsigned char CBDB_FieldUChar::Get () const
 
 CBDB_FieldUChar::operator char () const
 
virtual string CBDB_FieldUChar::GetString () const
 
virtual void CBDB_FieldUChar::ToString (string &s) const
 
virtual BDB_CompareFunction CBDB_FieldUChar::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldUChar::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
CBDB_FieldCharCBDB_FieldChar::operator= (char val)
 
CBDB_FieldCharCBDB_FieldChar::operator= (const CBDB_FieldChar &val)
 
virtual CBDB_FieldCBDB_FieldChar::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
char CBDB_FieldChar::Get () const
 
 CBDB_FieldChar::operator char () const
 
virtual string CBDB_FieldChar::GetString () const
 
virtual void CBDB_FieldChar::ToString (string &s) const
 
virtual BDB_CompareFunction CBDB_FieldChar::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldChar::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
CBDB_FieldInt1CBDB_FieldInt1::operator= (Int1 val)
 
CBDB_FieldInt1CBDB_FieldInt1::operator= (const CBDB_FieldChar &val)
 
virtual CBDB_FieldCBDB_FieldInt1::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
virtual string CBDB_FieldInt1::GetString () const
 
virtual void CBDB_FieldInt1::ToString (string &s) const
 
CBDB_FieldUint1CBDB_FieldUint1::operator= (unsigned char val)
 
CBDB_FieldUint1CBDB_FieldUint1::operator= (const CBDB_FieldUChar &val)
 
virtual CBDB_FieldCBDB_FieldUint1::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
virtual string CBDB_FieldUint1::GetString () const
 
virtual void CBDB_FieldUint1::ToString (string &s) const
 
CBDB_FieldUint4CBDB_FieldUint4::operator= (Uint4 val)
 
CBDB_FieldUint4CBDB_FieldUint4::operator= (const CBDB_FieldUint4 &val)
 
virtual CBDB_FieldCBDB_FieldUint4::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
Uint4 CBDB_FieldUint4::Get () const
 
virtual string CBDB_FieldUint4::GetString () const
 
virtual void CBDB_FieldUint4::ToString (string &str) const
 
 CBDB_FieldUint4::operator Uint4 () const
 
virtual BDB_CompareFunction CBDB_FieldUint4::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldUint4::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldFloatCBDB_FieldFloat::operator= (float val)
 
CBDB_FieldFloatCBDB_FieldFloat::operator= (const CBDB_FieldFloat &val)
 
virtual CBDB_FieldCBDB_FieldFloat::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
float CBDB_FieldFloat::Get () const
 
virtual string CBDB_FieldFloat::GetString () const
 
virtual void CBDB_FieldFloat::ToString (string &str) const
 
 CBDB_FieldFloat::operator float () const
 
virtual BDB_CompareFunction CBDB_FieldFloat::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldFloat::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
CBDB_FieldDoubleCBDB_FieldDouble::operator= (double val)
 
CBDB_FieldDoubleCBDB_FieldDouble::operator= (const CBDB_FieldDouble &val)
 
virtual CBDB_FieldCBDB_FieldDouble::Construct (size_t) const
 Virtual constructor - class factory for BDB fields. More...
 
double CBDB_FieldDouble::Get () const
 
virtual string CBDB_FieldDouble::GetString () const
 
virtual void CBDB_FieldDouble::ToString (string &str) const
 
 CBDB_FieldDouble::operator double () const
 
virtual BDB_CompareFunction CBDB_FieldDouble::GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual int CBDB_FieldDouble::Compare (const void *p1, const void *p2, bool byte_swapped) const
 Comparison function. More...
 
 CBDB_FieldFixedByteString::CBDB_FieldFixedByteString ()
 
virtual CBDB_FieldCBDB_FieldFixedByteString::Construct (size_t buf_size) const
 Virtual constructor - class factory for BDB fields. More...
 
 CBDB_FieldFixedByteString::operator const char * () const
 
CBDB_FieldFixedByteStringCBDB_FieldFixedByteString::operator= (const CBDB_FieldFixedByteString &str)
 
void CBDB_FieldFixedByteString::Set (const char *str)
 
virtual void CBDB_FieldFixedByteString::SetString (const char *val)
 
string CBDB_FieldFixedByteString::Get () const
 
virtual string CBDB_FieldFixedByteString::GetString () const
 
bool CBDB_FieldFixedByteString::IsEmpty () const
 
bool CBDB_FieldFixedByteString::IsBlank () const
 
virtual int CBDB_FieldFixedByteString::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
virtual size_t CBDB_FieldFixedByteString::GetDataLength (const void *buf) const
 Return current effective size of the buffer. More...
 
virtual void CBDB_FieldFixedByteString::SetMinVal ()
 Set minimal possible value for the field type. More...
 
virtual void CBDB_FieldFixedByteString::SetMaxVal ()
 Set maximum possible value for the field type. More...
 
virtual void CBDB_FieldFixedByteString::SetStdString (const string &str)
 
virtual void CBDB_FieldFixedByteString::ToString (string &str) const
 
virtual BDB_CompareFunction CBDB_FieldFixedByteString::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
 CBDB_FieldStringBase::CBDB_FieldStringBase ()
 
 CBDB_FieldString::CBDB_FieldString ()
 
virtual CBDB_FieldCBDB_FieldString::Construct (size_t buf_size) const
 Class factory for string fields. More...
 
 CBDB_FieldString::operator const char * () const
 
CBDB_FieldStringCBDB_FieldString::operator= (const CBDB_FieldString &str)
 
CBDB_FieldStringCBDB_FieldString::operator= (const char *str)
 
CBDB_FieldStringCBDB_FieldString::operator= (const string &str)
 
void CBDB_FieldString::Set (const char *str, EOverflowAction if_overflow=eThrowOnOverflow)
 
string CBDB_FieldString::Get () const
 
virtual string CBDB_FieldString::GetString () const
 
bool CBDB_FieldString::IsEmpty () const
 
bool CBDB_FieldString::IsBlank () const
 
virtual int CBDB_FieldString::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
virtual size_t CBDB_FieldString::GetDataLength (const void *buf) const
 Return current effective size of the buffer. More...
 
virtual void CBDB_FieldString::SetMinVal ()
 Set minimal possible value for the field type. More...
 
virtual void CBDB_FieldString::SetMaxVal ()
 Set maximum possible value for the field type. More...
 
virtual void CBDB_FieldString::SetString (const char *)
 
virtual void CBDB_FieldString::SetStdString (const string &str)
 
virtual void CBDB_FieldString::ToString (string &str) const
 
virtual BDB_CompareFunction CBDB_FieldString::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
 CBDB_FieldStringCase::CBDB_FieldStringCase ()
 
virtual CBDB_FieldCBDB_FieldStringCase::Construct (size_t buf_size) const
 Class factory for string fields. More...
 
 CBDB_FieldStringCase::operator const char * () const
 
CBDB_FieldStringCaseCBDB_FieldStringCase::operator= (const CBDB_FieldString &str)
 
CBDB_FieldStringCaseCBDB_FieldStringCase::operator= (const CBDB_FieldStringCase &str)
 
CBDB_FieldStringCaseCBDB_FieldStringCase::operator= (const char *str)
 
CBDB_FieldStringCaseCBDB_FieldStringCase::operator= (const string &str)
 
virtual int CBDB_FieldStringCase::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
virtual BDB_CompareFunction CBDB_FieldStringCase::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
 CBDB_FieldLString::CBDB_FieldLString ()
 
virtual CBDB_FieldCBDB_FieldLString::Construct (size_t buf_size) const
 Virtual constructor - class factory for BDB fields. More...
 
 CBDB_FieldLString::operator string () const
 
CBDB_FieldLStringCBDB_FieldLString::operator= (const CBDB_FieldLString &str)
 
CBDB_FieldLStringCBDB_FieldLString::operator= (const char *str)
 
CBDB_FieldLStringCBDB_FieldLString::operator= (const string &str)
 
void CBDB_FieldLString::Set (const char *str, EOverflowAction if_overflow=eThrowOnOverflow)
 
void CBDB_FieldLString::Set (const char *str, size_t size, EOverflowAction if_overflow=eThrowOnOverflow)
 
string CBDB_FieldLString::Get () const
 
virtual string CBDB_FieldLString::GetString () const
 
bool CBDB_FieldLString::IsEmpty () const
 
bool CBDB_FieldLString::IsBlank () const
 
virtual int CBDB_FieldLString::Compare (const void *p1, const void *p2, bool) const
 Comparison function. More...
 
virtual size_t CBDB_FieldLString::GetDataLength (const void *buf) const
 Return current effective size of the buffer. More...
 
virtual void CBDB_FieldLString::SetMinVal ()
 Set minimal possible value for the field type. More...
 
virtual void CBDB_FieldLString::SetMaxVal ()
 Set maximum possible value for the field type. More...
 
virtual void CBDB_FieldLString::SetString (const char *)
 
virtual void CBDB_FieldLString::SetStdString (const string &str)
 
virtual BDB_CompareFunction CBDB_FieldLString::GetCompareFunction (bool) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
virtual void CBDB_FieldLString::ToString (string &str) const
 
const unsigned char * CBDB_FieldLString::GetLString (const unsigned char *str, bool check_legacy, int *str_len) const
 
virtual size_t CBDB_FieldLString::GetExtraDataLength ()
 Hook for defining extra data length. More...
 
unsigned int CBDB_BufferManager::FieldCount () const
 Return number of fields attached using function Bind. More...
 
const CBDB_FieldCBDB_BufferManager::GetField (unsigned int idx) const
 
CBDB_FieldCBDB_BufferManager::GetField (unsigned int idx)
 
int CBDB_BufferManager::GetFieldIndex (const string &name) const
 Find the field with the specified name. More...
 
bool CBDB_BufferManager::IsByteSwapped () const
 Return TRUE if buffer is in a non-native byte order. More...
 
void CBDB_BufferManager::SetFieldCompareLimit (unsigned int n_fields)
 Sets maximum number of fields participating in comparison Should be less than total number of fields in the buffer. More...
 
unsigned int CBDB_BufferManager::GetFieldCompareLimit () const
 Get number of fields in comparison. More...
 
bool CBDB_BufferManager::IsLegacyStrings () const
 Return TRUE if buffer l-strings should check about legacy c-str compatibility. More...
 
size_t CBDB_BufferManager::GetDBT_Size () const
 Get DBT.size of the parent file (key or data area) (Set by CBDB_File after read) More...
 
 CBDB_BufferManager::~CBDB_BufferManager ()
 
bool CBDB_BufferManager::HasNull () const
 Check if any field is NULL. More...
 
void CBDB_BufferManager::CopyFrom (const CBDB_BufferManager &bman)
 Copy all fields from another manager with the same(a must!) structure. More...
 
void CBDB_BufferManager::CopyPackedFrom (void *data, size_t data_size)
 Copy packed data (buffer) from an external source. More...
 
 CBDB_BufferManager::CBDB_BufferManager ()
 
void CBDB_BufferManager::Construct ()
 Create internal data buffer, assign places in this buffer to the fields. More...
 
void CBDB_BufferManager::SetMinVal (unsigned int idx_from, unsigned int idx_to)
 Set minimum possible value to buffer fields from 'idx_from' to 'idx_to'. More...
 
void CBDB_BufferManager::SetMaxVal (unsigned int idx_from, unsigned int idx_to)
 Set maximum possible value to buffer fields from 'idx_from' to 'idx_to'. More...
 
void CBDB_BufferManager::Bind (CBDB_Field *field, ENullable is_nullable=eNotNullable)
 Attach 'field' to the buffer. More...
 
void CBDB_BufferManager::CopyFieldsFrom (const CBDB_BufferManager &buf_mgr)
 Copy all field values from the 'buf_mgr'. More...
 
void CBDB_BufferManager::DuplicateStructureFrom (const CBDB_BufferManager &buf_mgr)
 Duplicate (dynamic allocation is used) all fields from 'buf_mgr' and bind them to the this buffer manager. More...
 
int CBDB_BufferManager::Compare (const CBDB_BufferManager &buf_mgr, unsigned int n_fields=0) const
 Compare fields of this buffer with those of 'buf_mgr' using CBDB_Field::CompareWith(). More...
 
bool CBDB_BufferManager::IsPackable () const
 Return TRUE if any field bound to this buffer manager has variable length (i.e. More...
 
void CBDB_BufferManager::CheckNullConstraint () const
 Check if all NOT NULLABLE fields were assigned. More...
 
void CBDB_BufferManager::ArrangePtrsUnpacked ()
 
void CBDB_BufferManager::ArrangePtrsPacked ()
 
void CBDB_BufferManager::Clear ()
 
unsigned CBDB_BufferManager::Pack ()
 
unsigned CBDB_BufferManager::Unpack ()
 
void CBDB_BufferManager::PrepareDBT_ForWrite (DBT *dbt)
 Pack the buffer and initialize DBT structure for write operation. More...
 
void CBDB_BufferManager::PrepareDBT_ForRead (DBT *dbt)
 Initialize DBT structure for read operation. More...
 
size_t CBDB_BufferManager::ComputeBufferSize () const
 Calculate buffer size. More...
 
bool CBDB_BufferManager::IsNullable () const
 Return TRUE if buffer can carry NULL fields. More...
 
void CBDB_BufferManager::SetByteSwapped (bool byte_swapped)
 Set byte swapping flag for the buffer. More...
 
void CBDB_BufferManager::SetNullable ()
 Mark buffer as "NULL fields ready". More...
 
void CBDB_BufferManager::SetNull (unsigned int field_idx, bool value)
 
bool CBDB_BufferManager::IsNull (unsigned int field_idx) const
 
size_t CBDB_BufferManager::ComputeNullSetSize () const
 
bool CBDB_BufferManager::TestNullBit (unsigned int idx) const
 
void CBDB_BufferManager::SetNullBit (unsigned int idx, bool value)
 
void CBDB_BufferManager::SetAllNull ()
 
BDB_CompareFunction CBDB_BufferManager::GetCompareFunction () const
 Return buffer compare function. More...
 
BDB_HashFunction CBDB_BufferManager::GetHashFunction () const
 Return buffer hash function. More...
 
void CBDB_BufferManager::SetLegacyStringsCheck (bool value)
 Set C-str detection. More...
 
void CBDB_BufferManager::SetDBT_Size (size_t size)
 
void CBDB_BufferManager::SetFieldOwnership (bool own_fields)
 Fields deletion is managed by the class when own_fields is TRUE. More...
 
bool CBDB_BufferManager::IsOwnFields () const
 Return fields ownership flag. More...
 
void CBDB_BufferManager::SetPackable (bool packable)
 Disable-enable packing. More...
 
void CBDB_BufferManager::x_ComputePackOpt ()
 
 CBDB_BufferManager::CBDB_BufferManager (const CBDB_BufferManager &)
 
CBDB_BufferManagerCBDB_BufferManager::operator= (const CBDB_BufferManager &)
 
 CBDB_FieldFactory::CBDB_FieldFactory ()
 
EType CBDB_FieldFactory::GetType (const string &type) const
 Return type enumerator by string type (case insensitive) More...
 
CBDB_FieldCBDB_FieldFactory::Create (EType type) const
 
CBDB_FieldCBDB_FieldFactory::Create (const string &type) const
 Create field type by string. More...
 
void DeleteFields (CBDB_BufferManager &buf)
 

Variables

CBDB_BufferManagerCBDB_Field::m_BufferManager
 
unsigned   CBDB_Field::VariableLength: 1
 
unsigned   CBDB_Field::Attached: 1
 
unsigned   CBDB_Field::Nullable: 1
 
struct {
   unsigned   CBDB_Field::VariableLength: 1
 
   unsigned   CBDB_Field::Attached: 1
 
   unsigned   CBDB_Field::Nullable: 1
 
CBDB_Field::m_Flags
 
void * CBDB_Field::m_Buffer
 
size_t CBDB_Field::m_BufferSize
 
unsigned CBDB_Field::m_BufferIdx
 
string CBDB_Field::m_Name
 
TFieldVector CBDB_BufferManager::m_Fields
 
vector< void * > CBDB_BufferManager::m_Ptrs
 Array of pointers to the fields' data. More...
 
char * CBDB_BufferManager::m_Buffer
 
size_t CBDB_BufferManager::m_BufferSize
 
size_t CBDB_BufferManager::m_PackedSize
 
size_t CBDB_BufferManager::m_DBT_Size
 
bool CBDB_BufferManager::m_Packable
 
bool CBDB_BufferManager::m_ByteSwapped
 TRUE if buffer is in a non-native arch. More...
 
bool CBDB_BufferManager::m_Nullable
 TRUE if buffer can carry NULL fields. More...
 
size_t CBDB_BufferManager::m_NullSetSize
 size of the 'is NULL' bitset in bytes More...
 
unsigned int CBDB_BufferManager::m_CompareLimit
 Number of fields in key comparison. More...
 
bool CBDB_BufferManager::m_LegacyString
 Flag to check for legacy string compatibility. More...
 
bool CBDB_BufferManager::m_OwnFields
 Field ownership flag. More...
 
bool CBDB_BufferManager::m_PackOptComputed
 Pack optimization flag (turns TRUE on first Pack call) More...
 
unsigned int CBDB_BufferManager::m_FirstVarFieldIdx
 Index of first variable length field. More...
 
unsigned int CBDB_BufferManager::m_FirstVarFieldIdxOffs
 Buffer offset of first variable length field. More...
 

Friends

class CBDB_FieldInterfaces::CBDB_FileCursor
 
class CBDB_Field::CBDB_BufferManager
 
class CBDB_Field::CBDB_File
 
class CBDB_Field::CBDB_BLobFile
 
class CBDB_BufferManager::CBDB_Field
 
class CBDB_BufferManager::CBDB_BLobFile
 
class CBDB_BufferManager::CBDB_File
 
class CBDB_BufferManager::CBDB_FileCursor
 
class CBDB_BufferManager::CBDB_FC_Condition
 

Detailed Description

Typedef Documentation

◆ CParent

Definition at line 1652 of file bdb_types.hpp.

◆ TFieldType [1/13]

template<typename T >
typedef T CBDB_FieldSimple< T >::TFieldType

Definition at line 428 of file bdb_types.hpp.

◆ TFieldType [2/13]

template<class Type >
typedef void* SBDB_TypeTraits< Type >::TFieldType

Definition at line 2011 of file bdb_types.hpp.

◆ TFieldType [3/13]

Definition at line 2022 of file bdb_types.hpp.

◆ TFieldType [4/13]

Definition at line 2029 of file bdb_types.hpp.

◆ TFieldType [5/13]

Definition at line 2040 of file bdb_types.hpp.

◆ TFieldType [6/13]

Definition at line 2047 of file bdb_types.hpp.

◆ TFieldType [7/13]

Definition at line 2058 of file bdb_types.hpp.

◆ TFieldType [8/13]

Definition at line 2065 of file bdb_types.hpp.

◆ TFieldType [9/13]

Definition at line 2076 of file bdb_types.hpp.

◆ TFieldType [10/13]

Definition at line 2083 of file bdb_types.hpp.

◆ TFieldType [11/13]

Definition at line 2094 of file bdb_types.hpp.

◆ TFieldType [12/13]

Definition at line 2105 of file bdb_types.hpp.

◆ TFieldType [13/13]

Definition at line 2112 of file bdb_types.hpp.

◆ TFieldVector

typedef vector<CBDB_Field*> CBDB_BufferManager::TFieldVector
private

Definition at line 1913 of file bdb_types.hpp.

◆ TType [1/12]

template<class Type >
typedef Type SBDB_TypeTraits< Type >::TType

Definition at line 2010 of file bdb_types.hpp.

◆ TType [2/12]

Definition at line 2021 of file bdb_types.hpp.

◆ TType [3/12]

Definition at line 2028 of file bdb_types.hpp.

◆ TType [4/12]

Definition at line 2039 of file bdb_types.hpp.

◆ TType [5/12]

Definition at line 2046 of file bdb_types.hpp.

◆ TType [6/12]

Definition at line 2057 of file bdb_types.hpp.

◆ TType [7/12]

Definition at line 2064 of file bdb_types.hpp.

◆ TType [8/12]

Definition at line 2075 of file bdb_types.hpp.

◆ TType [9/12]

Definition at line 2082 of file bdb_types.hpp.

◆ TType [10/12]

Definition at line 2093 of file bdb_types.hpp.

◆ TType [11/12]

typedef float SBDB_TypeTraits< float >::TType

Definition at line 2104 of file bdb_types.hpp.

◆ TType [12/12]

typedef double SBDB_TypeTraits< double >::TType

Definition at line 2111 of file bdb_types.hpp.

Enumeration Type Documentation

◆ ELengthType

Length based classificator for fields (fixed-variable)

Enumerator
eFixedLength 

fixed-length (like int)

eVariableLength 

variable-length (like string)

Definition at line 300 of file bdb_types.hpp.

◆ EOverflowAction

Enumerator
eThrowOnOverflow 
eTruncateOnOverflow 
eTruncateOnOverflowLogError 

Definition at line 1574 of file bdb_types.hpp.

◆ EType

Enumerator
eUnknown 
eString 
eLString 
eInt8 
eInt4 
eUint4 
eInt2 
eUint1 
eFloat 
eDouble 
eUChar 
eBlob 

Definition at line 1963 of file bdb_types.hpp.

Function Documentation

◆ ArrangePtrsPacked()

void CBDB_BufferManager::ArrangePtrsPacked ( )
protected

◆ ArrangePtrsUnpacked()

void CBDB_BufferManager::ArrangePtrsUnpacked ( )
inlineprotected

◆ BDB_ByteSwap_DoubleCompare()

int BDB_ByteSwap_DoubleCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "double" keys Used when the data file is in a different byte order architecture.

Definition at line 420 of file bdb_types.cpp.

References CByteSwap::GetDouble(), and v2.

Referenced by CBDB_FieldDouble::GetCompareFunction().

◆ BDB_ByteSwap_FloatCompare()

int BDB_ByteSwap_FloatCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "float" keys Used when the data file is in a different byte order architecture.

Definition at line 410 of file bdb_types.cpp.

References CByteSwap::GetFloat(), and v2.

Referenced by CBDB_FieldFloat::GetCompareFunction().

◆ BDB_ByteSwap_Int2Compare()

int BDB_ByteSwap_Int2Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "short int" keys Used when the data file is in a different byte order architecture.

Definition at line 391 of file bdb_types.cpp.

References CByteSwap::GetInt2(), and v2.

Referenced by CBDB_FieldInt2::GetCompareFunction().

◆ BDB_ByteSwap_Int4Compare()

int BDB_ByteSwap_Int4Compare ( DB ,
const DBT val1,
const DBT val2 
)

◆ BDB_ByteSwap_Int8Compare()

int BDB_ByteSwap_Int8Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "Int8" keys Used when the data file is in a different byte order architecture.

Definition at line 359 of file bdb_types.cpp.

References CByteSwap::GetInt8(), and v2.

Referenced by CBDB_FieldInt8::GetCompareFunction().

◆ BDB_ByteSwap_IntCompare()

int BDB_ByteSwap_IntCompare ( DB db,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "int" keys Used when the data file is in a different byte order architecture.

Definition at line 377 of file bdb_types.cpp.

References BDB_ByteSwap_Int4Compare().

◆ BDB_ByteSwap_Uint2Compare()

int BDB_ByteSwap_Uint2Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "unsigned short int" keys Used when the data file is in a different byte order architecture.

Definition at line 400 of file bdb_types.cpp.

References CByteSwap::GetInt2(), and v2.

Referenced by CBDB_FieldUint2::GetCompareFunction().

◆ BDB_ByteSwap_Uint4Compare()

int BDB_ByteSwap_Uint4Compare ( DB ,
const DBT val1,
const DBT val2 
)

◆ BDB_ByteSwap_Uint8Compare()

int BDB_ByteSwap_Uint8Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "Uint8" keys Used when the data file is in a different byte order architecture.

Definition at line 368 of file bdb_types.cpp.

References CByteSwap::GetInt8(), and v2.

Referenced by CBDB_FieldUint8::GetCompareFunction().

◆ BDB_ByteSwap_UintCompare()

int BDB_ByteSwap_UintCompare ( DB db,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "unsigned int" keys.

Used when the data file is in a different byte order architecture.

Definition at line 345 of file bdb_types.cpp.

References BDB_ByteSwap_Uint4Compare().

◆ BDB_CharCompare()

int BDB_CharCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "char" keys.

Definition at line 193 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldChar::GetCompareFunction().

◆ BDB_Compare()

int BDB_Compare ( DB db,
const DBT val1,
const DBT val2 
)

◆ BDB_DoubleCompare()

int BDB_DoubleCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "double" keys.

Definition at line 225 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldDouble::GetCompareFunction().

◆ BDB_FixedByteStringCompare()

int BDB_FixedByteStringCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented fixed length string keys.

Definition at line 244 of file bdb_types.cpp.

References _ASSERT, and r().

Referenced by CBDB_FieldFixedByteString::GetCompareFunction().

◆ BDB_FloatCompare()

int BDB_FloatCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "float" keys.

Definition at line 211 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldFloat::GetCompareFunction().

◆ BDB_Hash()

unsigned int BDB_Hash ( DB ,
const void *  bytes,
unsigned  length 
)

General purpose hash function.

General purpose hash function.

Definition at line 318 of file bdb_types.cpp.

References buf.

Referenced by BDB_Uint4Hash(), CBDB_BufferManager::GetHashFunction(), and CBDB_RawFile::SetHash().

◆ BDB_Int2Compare()

int BDB_Int2Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "short int" keys.

Definition at line 165 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldInt2::GetCompareFunction().

◆ BDB_Int4Compare()

int BDB_Int4Compare ( DB ,
const DBT val1,
const DBT val2 
)

Definition at line 151 of file bdb_types.cpp.

References v2.

Referenced by BDB_IntCompare(), CBDB_FieldInt4::GetCompareFunction(), and CBDB_IdFile::SetCmp().

◆ BDB_Int8Compare()

int BDB_Int8Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "Int8" keys.

Definition at line 118 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldInt8::GetCompareFunction().

◆ BDB_IntCompare()

int BDB_IntCompare ( DB db,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "int" keys.

Definition at line 146 of file bdb_types.cpp.

References BDB_Int4Compare().

◆ BDB_LStringCompare()

int BDB_LStringCompare ( DB db,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented length prefixed string keys.

Definition at line 253 of file bdb_types.cpp.

References CBDB_BufferManager::IsLegacyStrings(), min(), r(), and s_GetLString().

Referenced by CBDB_FieldLString::GetCompareFunction().

◆ BDB_StringCaseCompare()

int BDB_StringCaseCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "case insensitive C string" keys.

Definition at line 278 of file bdb_types.cpp.

References NStr::strcasecmp().

Referenced by CBDB_FieldStringCase::GetCompareFunction().

◆ BDB_StringCompare()

int BDB_StringCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "C string" keys.

Definition at line 239 of file bdb_types.cpp.

References util::strcmp().

Referenced by CBDB_FieldString::GetCompareFunction().

◆ BDB_UCharCompare()

int BDB_UCharCompare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "unsigned char" keys.

Definition at line 202 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldUChar::GetCompareFunction().

◆ BDB_Uint2Compare()

int BDB_Uint2Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "unsigned short int" keys.

Definition at line 179 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldUint2::GetCompareFunction().

◆ BDB_Uint4Compare()

int BDB_Uint4Compare ( DB ,
const DBT val1,
const DBT val2 
)

Definition at line 104 of file bdb_types.cpp.

References v2.

Referenced by BDB_UintCompare(), CBDB_FieldUint4::GetCompareFunction(), and CBDB_LobFile::SetCmp().

◆ BDB_Uint4Hash()

unsigned int BDB_Uint4Hash ( DB db,
const void *  bytes,
unsigned  length 
)

Hash method for databases with a single (unique) UInt4 key.

Definition at line 332 of file bdb_types.cpp.

References BDB_Hash().

Referenced by CBDB_IdBlobFile::SetHash().

◆ BDB_Uint8Compare()

int BDB_Uint8Compare ( DB ,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "Uint8" keys.

Definition at line 132 of file bdb_types.cpp.

References v2.

Referenced by CBDB_FieldUint8::GetCompareFunction().

◆ BDB_UintCompare()

int BDB_UintCompare ( DB db,
const DBT val1,
const DBT val2 
)

Simple and fast comparison function for tables with non-segmented "unsigned int" keys.

Definition at line 99 of file bdb_types.cpp.

References BDB_Uint4Compare().

◆ Bind()

void CBDB_BufferManager::Bind ( CBDB_Field field,
ENullable  is_nullable = eNotNullable 
)
protected

Attach 'field' to the buffer.

NOTE: buffer manager will not own the attached object, nor will it keep ref counters or do any other automagic memory management, unless field ownership is set to TRUE

Definition at line 506 of file bdb_types.cpp.

References eNullable, CBDB_Field::IsVariableLength(), CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_Packable, CBDB_BufferManager::m_Ptrs, CBDB_Field::SetBufferIdx(), and CBDB_Field::SetNullable().

Referenced by CBDB_BufferManager::DuplicateStructureFrom().

◆ CBDB_BufferManager() [1/2]

CBDB_BufferManager::CBDB_BufferManager ( )
protected

Definition at line 476 of file bdb_types.cpp.

◆ CBDB_BufferManager() [2/2]

CBDB_BufferManager::CBDB_BufferManager ( const CBDB_BufferManager )
private

◆ CBDB_Field() [1/2]

CBDB_Field::CBDB_Field ( const CBDB_Field data)
private

◆ CBDB_Field() [2/2]

CBDB_Field::CBDB_Field ( ELengthType  length_type = eFixedLength)

Definition at line 447 of file bdb_types.cpp.

References CBDB_Field::eFixedLength, and CBDB_Field::m_Flags.

◆ CBDB_FieldFactory()

CBDB_FieldFactory::CBDB_FieldFactory ( )

Definition at line 1163 of file bdb_types.cpp.

◆ CBDB_FieldFixedByteString()

CBDB_FieldFixedByteString::CBDB_FieldFixedByteString ( )

Definition at line 813 of file bdb_types.cpp.

References CBDB_Field::SetBufferSize().

Referenced by CBDB_FieldFixedByteString::Construct().

◆ CBDB_FieldLString()

CBDB_FieldLString::CBDB_FieldLString ( )

Definition at line 850 of file bdb_types.cpp.

References CBDB_Field::SetBufferSize().

Referenced by CBDB_FieldLString::Construct().

◆ CBDB_FieldSimple()

template<typename T >
CBDB_FieldSimple< T >::CBDB_FieldSimple ( )
inline

Definition at line 430 of file bdb_types.hpp.

◆ CBDB_FieldSimpleFloat()

template<typename T >
CBDB_FieldSimpleFloat< T >::CBDB_FieldSimpleFloat ( )
inline

Definition at line 600 of file bdb_types.hpp.

◆ CBDB_FieldSimpleInt()

template<typename T >
CBDB_FieldSimpleInt< T >::CBDB_FieldSimpleInt ( )
inline

Definition at line 491 of file bdb_types.hpp.

◆ CBDB_FieldString()

CBDB_FieldString::CBDB_FieldString ( )
inline

Definition at line 2365 of file bdb_types.hpp.

References CBDB_Field::SetBufferSize().

Referenced by CBDB_FieldString::Construct().

◆ CBDB_FieldStringBase()

CBDB_FieldStringBase::CBDB_FieldStringBase ( )
inlineprotected

Definition at line 1581 of file bdb_types.hpp.

◆ CBDB_FieldStringCase()

CBDB_FieldStringCase::CBDB_FieldStringCase ( )
inlineexplicit

Definition at line 1654 of file bdb_types.hpp.

Referenced by CBDB_FieldStringCase::Construct().

◆ CheckNullConstraint()

void CBDB_BufferManager::CheckNullConstraint ( ) const
protected

Check if all NOT NULLABLE fields were assigned.

Throw an exception if not.

Definition at line 546 of file bdb_types.cpp.

References BDB_THROW, CBDB_Field::GetName(), i, CBDB_Field::IsNullable(), CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Fields, and CBDB_BufferManager::TestNullBit().

◆ Clear()

void CBDB_BufferManager::Clear ( void  )
inlineprotected

◆ Compare() [1/18]

int CBDB_BufferManager::Compare ( const CBDB_BufferManager buf_mgr,
unsigned int  n_fields = 0 
) const
protected

Compare fields of this buffer with those of 'buf_mgr' using CBDB_Field::CompareWith().

Optional 'n_fields' parameter used when we want to compare only several first fields instead of all.

Definition at line 756 of file bdb_types.cpp.

References _ASSERT, CBDB_Field::CompareWith(), CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetField(), and i.

◆ Compare() [2/18]

template<typename T >
virtual int CBDB_FieldSimpleInt< T >::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimple< T >.

Reimplemented in CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldUint4, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, and CBDB_FieldInt8.

Definition at line 564 of file bdb_types.hpp.

Referenced by CBDB_FieldInt8::Compare(), CBDB_FieldUint8::Compare(), CBDB_FieldInt4::Compare(), CBDB_FieldInt2::Compare(), CBDB_FieldUint2::Compare(), and CBDB_FieldUint4::Compare().

◆ Compare() [3/18]

virtual int CBDB_FieldInt8::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Int8 >.

Definition at line 721 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt8(), and v2.

◆ Compare() [4/18]

virtual int CBDB_FieldUint8::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Uint8 >.

Definition at line 805 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt8(), and v2.

◆ Compare() [5/18]

virtual int CBDB_FieldInt4::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Int4 >.

Definition at line 889 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt4(), and v2.

◆ Compare() [6/18]

virtual int CBDB_FieldInt2::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Int2 >.

Definition at line 973 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt2(), and v2.

◆ Compare() [7/18]

virtual int CBDB_FieldUint2::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Uint2 >.

Definition at line 1057 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt2(), and v2.

◆ Compare() [8/18]

virtual int CBDB_FieldUint4::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< Uint4 >.

Definition at line 1329 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< T >::Compare(), CByteSwap::GetInt4(), and v2.

◆ Compare() [9/18]

virtual int CBDB_FieldFloat::Compare ( const void *  p1,
const void *  p2,
bool   
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimple< float >.

Definition at line 1415 of file bdb_types.hpp.

References CBDB_FieldSimple< T >::Compare(), CByteSwap::GetFloat(), and v2.

◆ Compare() [10/18]

virtual int CBDB_FieldDouble::Compare ( const void *  p1,
const void *  p2,
bool   
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimple< double >.

Definition at line 1499 of file bdb_types.hpp.

References CBDB_FieldSimple< T >::Compare(), CByteSwap::GetDouble(), and v2.

◆ Compare() [11/18]

virtual int IBDB_Field::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
pure virtual

◆ Compare() [12/18]

template<typename T >
virtual int CBDB_FieldSimple< T >::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Implements IBDB_Field.

Reimplemented in CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldDouble, CBDB_FieldFloat, CBDB_FieldUint4, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, CBDB_FieldInt8, CBDB_FieldSimpleInt< T >, CBDB_FieldSimpleInt< Uint8 >, CBDB_FieldSimpleInt< unsigned char >, CBDB_FieldSimpleInt< Int4 >, CBDB_FieldSimpleInt< Int2 >, CBDB_FieldSimpleInt< char >, CBDB_FieldSimpleInt< Uint4 >, CBDB_FieldSimpleInt< Int8 >, and CBDB_FieldSimpleInt< Uint2 >.

Definition at line 457 of file bdb_types.hpp.

Referenced by CBDB_FieldSimpleInt< Uint2 >::Compare(), CBDB_FieldFloat::Compare(), and CBDB_FieldDouble::Compare().

◆ Compare() [13/18]

virtual int CBDB_FieldUChar::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< unsigned char >.

Definition at line 1124 of file bdb_types.hpp.

◆ Compare() [14/18]

virtual int CBDB_FieldChar::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldSimpleInt< char >.

Definition at line 1182 of file bdb_types.hpp.

◆ Compare() [15/18]

int CBDB_FieldFixedByteString::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Implements IBDB_Field.

Definition at line 2334 of file bdb_types.hpp.

References CBDB_Field::GetBufferSize().

◆ Compare() [16/18]

int CBDB_FieldString::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Implements IBDB_Field.

Reimplemented in CBDB_FieldStringCase.

Definition at line 2445 of file bdb_types.hpp.

References _ASSERT, and util::strcmp().

◆ Compare() [17/18]

virtual int CBDB_FieldStringCase::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
inlinevirtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Reimplemented from CBDB_FieldString.

Definition at line 1687 of file bdb_types.hpp.

References _ASSERT, and NStr::CompareNocase().

◆ Compare() [18/18]

int CBDB_FieldLString::Compare ( const void *  p1,
const void *  p2,
bool  byte_swapped 
) const
virtual

Comparison function.

p1 and p2 are void pointers on field buffers. Positive if p1>p2, zero if p1==p2, negative if p1<p2. NOTE: both buffers can be unaligned. byte_swapped TRUE indicates that buffers values are in a different byte order architecture

Implements IBDB_Field.

Definition at line 982 of file bdb_types.cpp.

References _ASSERT, CBDB_FieldLString::GetLString(), CBDB_BufferManager::IsLegacyStrings(), CBDB_Field::m_BufferManager, min(), and r().

◆ CompareWith()

int CBDB_Field::CompareWith ( const CBDB_Field field) const
inlineprotected

◆ ComputeBufferSize()

size_t CBDB_BufferManager::ComputeBufferSize ( ) const
protected

Calculate buffer size.

Definition at line 535 of file bdb_types.cpp.

References CBDB_Field::GetBufferSize(), i, and CBDB_BufferManager::m_Fields.

Referenced by CBDB_BufferManager::Construct().

◆ ComputeNullSetSize()

size_t CBDB_BufferManager::ComputeNullSetSize ( ) const
inlineprotected

◆ Construct() [1/18]

void CBDB_BufferManager::Construct ( )
protected

◆ Construct() [2/18]

virtual CBDB_Field* CBDB_FieldFixedByteString::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 1523 of file bdb_types.hpp.

References CBDB_FieldFixedByteString::CBDB_FieldFixedByteString(), CBDB_Field::GetBufferSize(), and CBDB_Field::SetBufferSize().

◆ Construct() [3/18]

virtual CBDB_Field* CBDB_FieldString::Construct ( size_t  buf_size) const
inlinevirtual

Class factory for string fields.

Default (zero) value of 'buf_size' uses GetBufferSize().

Implements CBDB_Field.

Reimplemented in CBDB_FieldStringCase.

Definition at line 1596 of file bdb_types.hpp.

References CBDB_FieldString::CBDB_FieldString(), CBDB_Field::GetBufferSize(), and CBDB_Field::SetBufferSize().

◆ Construct() [4/18]

virtual CBDB_Field* CBDB_FieldStringCase::Construct ( size_t  buf_size) const
inlinevirtual

Class factory for string fields.

Default (zero) value of 'buf_size' uses GetBufferSize().

Reimplemented from CBDB_FieldString.

Definition at line 1656 of file bdb_types.hpp.

References CBDB_FieldStringCase::CBDB_FieldStringCase(), CBDB_Field::GetBufferSize(), and CBDB_Field::SetBufferSize().

◆ Construct() [5/18]

CBDB_Field * CBDB_FieldLString::Construct ( size_t  buf_size) const
virtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 856 of file bdb_types.cpp.

References CBDB_FieldLString::CBDB_FieldLString(), CBDB_Field::GetBufferSize(), and CBDB_Field::SetBufferSize().

◆ Construct() [6/18]

virtual CBDB_Field* CBDB_Field::Construct ( size_t  buf_size = 0) const
pure virtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implemented in CBDB_FieldDouble, CBDB_FieldFloat, CBDB_FieldUint4, CBDB_FieldUint1, CBDB_FieldInt1, CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, CBDB_FieldInt8, CBDB_FieldLString, CBDB_FieldStringCase, CBDB_FieldString, and CBDB_FieldFixedByteString.

Referenced by CBDB_BufferManager::DuplicateStructureFrom().

◆ Construct() [7/18]

virtual CBDB_Field* CBDB_FieldInt8::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 673 of file bdb_types.hpp.

◆ Construct() [8/18]

virtual CBDB_Field* CBDB_FieldUint8::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 757 of file bdb_types.hpp.

◆ Construct() [9/18]

virtual CBDB_Field* CBDB_FieldInt4::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 841 of file bdb_types.hpp.

◆ Construct() [10/18]

virtual CBDB_Field* CBDB_FieldInt2::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 925 of file bdb_types.hpp.

◆ Construct() [11/18]

virtual CBDB_Field* CBDB_FieldUint2::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 1009 of file bdb_types.hpp.

◆ Construct() [12/18]

virtual CBDB_Field* CBDB_FieldUChar::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Reimplemented in CBDB_FieldUint1.

Definition at line 1092 of file bdb_types.hpp.

◆ Construct() [13/18]

virtual CBDB_Field* CBDB_FieldChar::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Reimplemented in CBDB_FieldInt1.

Definition at line 1150 of file bdb_types.hpp.

◆ Construct() [14/18]

virtual CBDB_Field* CBDB_FieldInt1::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Reimplemented from CBDB_FieldChar.

Definition at line 1211 of file bdb_types.hpp.

◆ Construct() [15/18]

virtual CBDB_Field* CBDB_FieldUint1::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Reimplemented from CBDB_FieldUChar.

Definition at line 1246 of file bdb_types.hpp.

◆ Construct() [16/18]

virtual CBDB_Field* CBDB_FieldUint4::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 1281 of file bdb_types.hpp.

◆ Construct() [17/18]

virtual CBDB_Field* CBDB_FieldFloat::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 1366 of file bdb_types.hpp.

◆ Construct() [18/18]

virtual CBDB_Field* CBDB_FieldDouble::Construct ( size_t  buf_size) const
inlinevirtual

Virtual constructor - class factory for BDB fields.

Default (zero) value of 'buf-len' uses GetBufferSize(). For fixed length fields this buf_size parameter has no effect

Implements CBDB_Field.

Definition at line 1450 of file bdb_types.hpp.

◆ CopyFieldsFrom()

void CBDB_BufferManager::CopyFieldsFrom ( const CBDB_BufferManager buf_mgr)
inlineprotected

Copy all field values from the 'buf_mgr'.

Definition at line 2657 of file bdb_types.hpp.

References CBDB_Field::CopyFrom(), CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetField(), i, CBDB_BufferManager::m_Fields, and min().

Referenced by CBDB_BufferManager::CopyFrom().

◆ CopyFrom() [1/3]

void CBDB_BufferManager::CopyFrom ( const CBDB_BufferManager bman)

Copy all fields from another manager with the same(a must!) structure.

Definition at line 794 of file bdb_types.cpp.

References CBDB_BufferManager::CopyFieldsFrom().

◆ CopyFrom() [2/3]

void CBDB_Field::CopyFrom ( const CBDB_Field src)
inlineprotected

Copies field value from another field.

The field type MUST be the same, or an exception will be thrown.

Definition at line 2258 of file bdb_types.hpp.

References BDB_THROW, eType, CBDB_Field::GetBuffer(), and CBDB_Field::IsSameType().

Referenced by CBDB_BufferManager::CopyFieldsFrom().

◆ CopyFrom() [3/3]

void CBDB_Field::CopyFrom ( const void *  src_buf)
inlineprotected

Copy buffer value from the external source.

Definition at line 2271 of file bdb_types.hpp.

References _ASSERT, BDB_THROW, CBDB_Field::GetBufferSize(), IBDB_Field::GetDataLength(), CBDB_Field::SetNotNull(), and CBDB_Field::Unpack().

◆ CopyPackedFrom()

void CBDB_BufferManager::CopyPackedFrom ( void *  data,
size_t  data_size 
)

Copy packed data (buffer) from an external source.

Definition at line 799 of file bdb_types.cpp.

References _ASSERT, CBDB_BufferManager::ArrangePtrsPacked(), data, CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, and CBDB_BufferManager::SetDBT_Size().

◆ Create() [1/2]

CBDB_Field * CBDB_FieldFactory::Create ( const string type) const

Create field type by string.

Caller is responsible for deletion.

Parameters
typestring type ("string", "int4", "double"). Case insensitive.

Definition at line 1237 of file bdb_types.cpp.

References BDB_THROW, CBDB_FieldFactory::Create(), and CBDB_FieldFactory::GetType().

◆ Create() [2/2]

CBDB_Field * CBDB_FieldFactory::Create ( EType  type) const

◆ DeleteFields()

void DeleteFields ( CBDB_BufferManager buf)
inline

Definition at line 2708 of file bdb_types.hpp.

References buf, and i.

Referenced by CBDB_FC_Condition::~CBDB_FC_Condition().

◆ DuplicateStructureFrom()

void CBDB_BufferManager::DuplicateStructureFrom ( const CBDB_BufferManager buf_mgr)
protected

Duplicate (dynamic allocation is used) all fields from 'buf_mgr' and bind them to the this buffer manager.

Field values are not copied. NOTE: CBDB_BufferManager does not own or deallocate fields, caller is responsible for deallocation, unless field ownership is set to TRUE

Definition at line 777 of file bdb_types.cpp.

References _ASSERT, CBDB_BufferManager::Bind(), CBDB_Field::Construct(), CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetField(), CBDB_Field::GetName(), i, CBDB_BufferManager::IsLegacyStrings(), and CBDB_BufferManager::m_LegacyString.

Referenced by CBDB_FC_Condition::CBDB_FC_Condition().

◆ FieldCount()

unsigned int CBDB_BufferManager::FieldCount ( ) const
inline

◆ Get() [1/13]

Int8 CBDB_FieldInt8::Get ( void  ) const
inline

◆ Get() [2/13]

Uint8 CBDB_FieldUint8::Get ( void  ) const
inline

◆ Get() [3/13]

Int4 CBDB_FieldInt4::Get ( void  ) const
inline

◆ Get() [4/13]

Int2 CBDB_FieldInt2::Get ( void  ) const
inline

◆ Get() [5/13]

Uint2 CBDB_FieldUint2::Get ( void  ) const
inline

◆ Get() [6/13]

unsigned char CBDB_FieldUChar::Get ( void  ) const
inline

◆ Get() [7/13]

char CBDB_FieldChar::Get ( void  ) const
inline

◆ Get() [8/13]

Uint4 CBDB_FieldUint4::Get ( void  ) const
inline

◆ Get() [9/13]

float CBDB_FieldFloat::Get ( void  ) const
inline

◆ Get() [10/13]

double CBDB_FieldDouble::Get ( void  ) const
inline

◆ Get() [11/13]

string CBDB_FieldFixedByteString::Get ( void  ) const
inline

◆ Get() [12/13]

string CBDB_FieldString::Get ( void  ) const
inline

Definition at line 1609 of file bdb_types.hpp.

References CBDB_Field::GetBuffer(), and string.

Referenced by CBDB_FieldString::GetString().

◆ Get() [13/13]

string CBDB_FieldLString::Get ( void  ) const

◆ GetBuffer() [1/2]

void * CBDB_Field::GetBuffer ( void  )
inline

Get pointer to the data. NULL if not yet attached.

Definition at line 2219 of file bdb_types.hpp.

References CBDB_Field::m_Buffer.

◆ GetBuffer() [2/2]

const void * CBDB_Field::GetBuffer ( void  ) const
inline

◆ GetBufferSize()

size_t CBDB_Field::GetBufferSize ( ) const
inline

◆ GetCompareFunction() [1/16]

BDB_CompareFunction CBDB_BufferManager::GetCompareFunction ( ) const
protected

Return buffer compare function.

Definition at line 602 of file bdb_types.cpp.

References BDB_Compare(), CBDB_BufferManager::IsByteSwapped(), and CBDB_BufferManager::m_Fields.

◆ GetCompareFunction() [2/16]

BDB_CompareFunction CBDB_Field::GetCompareFunction ( bool  byte_swapped) const
virtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented in CBDB_FieldLString, CBDB_FieldStringCase, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldDouble, CBDB_FieldFloat, CBDB_FieldUint4, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, and CBDB_FieldInt8.

Definition at line 459 of file bdb_types.cpp.

References BDB_Compare().

◆ GetCompareFunction() [3/16]

virtual BDB_CompareFunction CBDB_FieldInt8::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 714 of file bdb_types.hpp.

References BDB_ByteSwap_Int8Compare(), and BDB_Int8Compare().

◆ GetCompareFunction() [4/16]

virtual BDB_CompareFunction CBDB_FieldUint8::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 798 of file bdb_types.hpp.

References BDB_ByteSwap_Uint8Compare(), and BDB_Uint8Compare().

◆ GetCompareFunction() [5/16]

virtual BDB_CompareFunction CBDB_FieldInt4::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 882 of file bdb_types.hpp.

References BDB_ByteSwap_Int4Compare(), and BDB_Int4Compare().

◆ GetCompareFunction() [6/16]

virtual BDB_CompareFunction CBDB_FieldInt2::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 966 of file bdb_types.hpp.

References BDB_ByteSwap_Int2Compare(), and BDB_Int2Compare().

◆ GetCompareFunction() [7/16]

virtual BDB_CompareFunction CBDB_FieldUint2::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1050 of file bdb_types.hpp.

References BDB_ByteSwap_Uint2Compare(), and BDB_Uint2Compare().

◆ GetCompareFunction() [8/16]

virtual BDB_CompareFunction CBDB_FieldUint4::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1322 of file bdb_types.hpp.

References BDB_ByteSwap_Uint4Compare(), and BDB_Uint4Compare().

◆ GetCompareFunction() [9/16]

virtual BDB_CompareFunction CBDB_FieldFloat::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1407 of file bdb_types.hpp.

References BDB_ByteSwap_FloatCompare(), and BDB_FloatCompare().

◆ GetCompareFunction() [10/16]

virtual BDB_CompareFunction CBDB_FieldDouble::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1491 of file bdb_types.hpp.

References BDB_ByteSwap_DoubleCompare(), and BDB_DoubleCompare().

◆ GetCompareFunction() [11/16]

virtual BDB_CompareFunction CBDB_FieldUChar::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1119 of file bdb_types.hpp.

References BDB_UCharCompare().

◆ GetCompareFunction() [12/16]

virtual BDB_CompareFunction CBDB_FieldChar::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1177 of file bdb_types.hpp.

References BDB_CharCompare().

◆ GetCompareFunction() [13/16]

virtual BDB_CompareFunction CBDB_FieldFixedByteString::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1560 of file bdb_types.hpp.

References BDB_FixedByteStringCompare().

◆ GetCompareFunction() [14/16]

virtual BDB_CompareFunction CBDB_FieldString::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Reimplemented in CBDB_FieldStringCase.

Definition at line 1638 of file bdb_types.hpp.

References BDB_StringCompare().

◆ GetCompareFunction() [15/16]

virtual BDB_CompareFunction CBDB_FieldStringCase::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_FieldString.

Definition at line 1696 of file bdb_types.hpp.

References BDB_StringCaseCompare().

◆ GetCompareFunction() [16/16]

virtual BDB_CompareFunction CBDB_FieldLString::GetCompareFunction ( bool  byte_swapped) const
inlinevirtual

Return address to the type specific comparison function By default it's universal BDB_Compare.

Reimplemented from CBDB_Field.

Definition at line 1747 of file bdb_types.hpp.

References BDB_LStringCompare().

◆ GetDataLength() [1/5]

template<typename T >
virtual size_t CBDB_FieldSimple< T >::GetDataLength ( const void *  buf) const
inlinevirtual

Return current effective size of the buffer.

Implements IBDB_Field.

Definition at line 476 of file bdb_types.hpp.

◆ GetDataLength() [2/5]

size_t CBDB_FieldFixedByteString::GetDataLength ( const void *  buf) const
inlinevirtual

Return current effective size of the buffer.

Implements IBDB_Field.

Definition at line 2342 of file bdb_types.hpp.

References CBDB_Field::GetBufferSize().

◆ GetDataLength() [3/5]

size_t CBDB_FieldString::GetDataLength ( const void *  buf) const
inlinevirtual

Return current effective size of the buffer.

Implements IBDB_Field.

Definition at line 2492 of file bdb_types.hpp.

References _ASSERT, and buf.

◆ GetDataLength() [4/5]

size_t CBDB_FieldLString::GetDataLength ( const void *  buf) const
virtual

Return current effective size of the buffer.

Implements IBDB_Field.

Definition at line 1062 of file bdb_types.cpp.

References buf, CBDB_FieldLString::GetLString(), CBDB_BufferManager::IsLegacyStrings(), CBDB_Field::m_BufferManager, and str().

◆ GetDataLength() [5/5]

virtual size_t IBDB_Field::GetDataLength ( const void *  buf) const
pure virtual

◆ GetDBT_Size()

size_t CBDB_BufferManager::GetDBT_Size ( ) const
inline

Get DBT.size of the parent file (key or data area) (Set by CBDB_File after read)

Definition at line 1797 of file bdb_types.hpp.

References CBDB_BufferManager::m_DBT_Size.

Referenced by CBDB_FieldLString::GetLString().

◆ GetExtraDataLength() [1/2]

size_t CBDB_Field::GetExtraDataLength ( )
protectedvirtual

Hook for defining extra data length.

Reimplemented in CBDB_FieldLString.

Definition at line 465 of file bdb_types.cpp.

Referenced by CBDB_Field::SetDataSize().

◆ GetExtraDataLength() [2/2]

size_t CBDB_FieldLString::GetExtraDataLength ( )
protectedvirtual

Hook for defining extra data length.

Reimplemented from CBDB_Field.

Definition at line 881 of file bdb_types.cpp.

◆ GetField() [1/2]

CBDB_Field & CBDB_BufferManager::GetField ( unsigned int  idx)
inline

Definition at line 2523 of file bdb_types.hpp.

References CBDB_BufferManager::m_Fields, and n.

◆ GetField() [2/2]

const CBDB_Field & CBDB_BufferManager::GetField ( unsigned int  idx) const
inline

◆ GetFieldCompareLimit()

unsigned int CBDB_BufferManager::GetFieldCompareLimit ( ) const
inline

Get number of fields in comparison.

0 - means no forced limit

Definition at line 2698 of file bdb_types.hpp.

References CBDB_BufferManager::m_CompareLimit.

Referenced by BDB_Compare().

◆ GetFieldIndex()

int CBDB_BufferManager::GetFieldIndex ( const string name) const

Find the field with the specified name.

Name is case insensitive.

Returns
-1 if field cannot be found

Definition at line 523 of file bdb_types.cpp.

References NStr::CompareNocase(), CBDB_Field::GetName(), i, and CBDB_BufferManager::m_Fields.

◆ GetHashFunction()

BDB_HashFunction CBDB_BufferManager::GetHashFunction ( ) const
protected

Return buffer hash function.

Definition at line 612 of file bdb_types.cpp.

References BDB_Hash().

◆ GetInt() [1/2]

virtual int IBDB_FieldConvert::GetInt ( void  ) const
inlinevirtual

◆ GetInt() [2/2]

template<typename T >
virtual int CBDB_FieldSimpleInt< T >::GetInt ( void  ) const
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 533 of file bdb_types.hpp.

◆ GetLength()

size_t CBDB_Field::GetLength ( void  ) const
inline

Get length of the actual data.

Definition at line 2232 of file bdb_types.hpp.

References IBDB_Field::GetDataLength(), and CBDB_Field::m_Buffer.

◆ GetLString()

const unsigned char * CBDB_FieldLString::GetLString ( const unsigned char *  str,
bool  check_legacy,
int str_len 
) const
protected

◆ GetName()

const string & CBDB_Field::GetName ( void  ) const
inline

◆ GetString() [1/16]

virtual string CBDB_FieldInt8::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 697 of file bdb_types.hpp.

References CBDB_FieldInt8::Get(), and NStr::Int8ToString().

◆ GetString() [2/16]

virtual string CBDB_FieldUint8::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 781 of file bdb_types.hpp.

References CBDB_FieldUint8::Get(), and NStr::UInt8ToString().

◆ GetString() [3/16]

virtual string CBDB_FieldInt4::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 865 of file bdb_types.hpp.

References CBDB_FieldInt4::Get(), and NStr::IntToString().

◆ GetString() [4/16]

virtual string CBDB_FieldInt2::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 949 of file bdb_types.hpp.

References CBDB_FieldInt2::Get(), and NStr::IntToString().

◆ GetString() [5/16]

virtual string CBDB_FieldUint2::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1033 of file bdb_types.hpp.

References CBDB_FieldUint2::Get(), and NStr::IntToString().

◆ GetString() [6/16]

virtual string CBDB_FieldUChar::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Reimplemented in CBDB_FieldUint1.

Definition at line 1109 of file bdb_types.hpp.

References CBDB_FieldUChar::Get(), and string.

◆ GetString() [7/16]

virtual string CBDB_FieldChar::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Reimplemented in CBDB_FieldInt1.

Definition at line 1167 of file bdb_types.hpp.

References CBDB_FieldChar::Get(), and string.

◆ GetString() [8/16]

virtual string CBDB_FieldInt1::GetString ( void  ) const
inlinevirtual

Reimplemented from CBDB_FieldChar.

Definition at line 1216 of file bdb_types.hpp.

References CBDB_FieldChar::Get(), and NStr::UIntToString().

Referenced by CBDB_FieldInt1::ToString().

◆ GetString() [9/16]

virtual string CBDB_FieldUint1::GetString ( void  ) const
inlinevirtual

Reimplemented from CBDB_FieldUChar.

Definition at line 1251 of file bdb_types.hpp.

References CBDB_FieldUChar::Get(), and NStr::UIntToString().

Referenced by CBDB_FieldUint1::ToString().

◆ GetString() [10/16]

virtual string CBDB_FieldUint4::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1305 of file bdb_types.hpp.

References CBDB_FieldUint4::Get(), and NStr::UIntToString().

◆ GetString() [11/16]

virtual string CBDB_FieldFloat::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1390 of file bdb_types.hpp.

References NStr::DoubleToString(), and CBDB_FieldFloat::Get().

◆ GetString() [12/16]

virtual string CBDB_FieldDouble::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1474 of file bdb_types.hpp.

References NStr::DoubleToString(), and CBDB_FieldDouble::Get().

◆ GetString() [13/16]

virtual string CBDB_FieldFixedByteString::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1536 of file bdb_types.hpp.

References CBDB_FieldFixedByteString::Get().

◆ GetString() [14/16]

virtual string CBDB_FieldString::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1611 of file bdb_types.hpp.

References CBDB_FieldString::Get().

Referenced by CBDB_Cache::Open().

◆ GetString() [15/16]

virtual string CBDB_FieldLString::GetString ( void  ) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1727 of file bdb_types.hpp.

References CBDB_FieldLString::Get().

Referenced by CBDB_FieldLString::operator string().

◆ GetString() [16/16]

virtual string IBDB_FieldConvert::GetString ( ) const
pure virtual

◆ GetType()

CBDB_FieldFactory::EType CBDB_FieldFactory::GetType ( const string type) const

◆ GetUint() [1/2]

virtual unsigned IBDB_FieldConvert::GetUint ( ) const
inlinevirtual

◆ GetUint() [2/2]

template<typename T >
virtual unsigned CBDB_FieldSimpleInt< T >::GetUint ( ) const
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 546 of file bdb_types.hpp.

◆ HasNull()

bool CBDB_BufferManager::HasNull ( ) const
inline

◆ IsBlank() [1/3]

bool CBDB_FieldFixedByteString::IsBlank ( ) const
inline

Definition at line 1539 of file bdb_types.hpp.

◆ IsBlank() [2/3]

bool CBDB_FieldString::IsBlank ( ) const
inline

Definition at line 2480 of file bdb_types.hpp.

References _ASSERT, CBDB_Field::GetBuffer(), isspace(), and str().

◆ IsBlank() [3/3]

bool CBDB_FieldLString::IsBlank ( ) const

◆ IsBufferAttached()

bool CBDB_Field::IsBufferAttached ( ) const
inlineprotected

Return TRUE if external buffer has already been attached.

Definition at line 2140 of file bdb_types.hpp.

References CBDB_Field::m_Flags.

◆ IsByteSwapped() [1/2]

bool CBDB_Field::IsByteSwapped ( ) const
inlineprotected

◆ IsByteSwapped() [2/2]

bool CBDB_BufferManager::IsByteSwapped ( ) const
inline

Return TRUE if buffer is in a non-native byte order.

Definition at line 1781 of file bdb_types.hpp.

References CBDB_BufferManager::m_ByteSwapped.

Referenced by BDB_Compare(), CBDB_Field::CompareWith(), CBDB_BufferManager::GetCompareFunction(), and CBDB_Field::IsByteSwapped().

◆ IsEmpty() [1/3]

bool CBDB_FieldFixedByteString::IsEmpty ( void  ) const
inline

Definition at line 1538 of file bdb_types.hpp.

◆ IsEmpty() [2/3]

bool CBDB_FieldString::IsEmpty ( void  ) const
inline

Definition at line 2472 of file bdb_types.hpp.

References _ASSERT, CBDB_Field::GetBuffer(), and str().

◆ IsEmpty() [3/3]

bool CBDB_FieldLString::IsEmpty ( void  ) const

◆ IsLegacyStrings()

bool CBDB_BufferManager::IsLegacyStrings ( ) const
inline

◆ IsNull() [1/2]

bool CBDB_Field::IsNull ( void  ) const
inline

◆ IsNull() [2/2]

bool CBDB_BufferManager::IsNull ( unsigned int  field_idx) const
inlineprotected

◆ IsNullable() [1/2]

bool CBDB_Field::IsNullable ( ) const
inline

Return TRUE if field can be NULL.

Definition at line 2146 of file bdb_types.hpp.

References CBDB_Field::m_Flags.

Referenced by CBDB_BufferManager::CheckNullConstraint().

◆ IsNullable() [2/2]

bool CBDB_BufferManager::IsNullable ( ) const
inlineprotected

◆ IsOwnFields()

bool CBDB_BufferManager::IsOwnFields ( ) const
inlineprotected

Return fields ownership flag.

Definition at line 1901 of file bdb_types.hpp.

References CBDB_BufferManager::m_OwnFields.

◆ IsPackable()

bool CBDB_BufferManager::IsPackable ( ) const
inlineprotected

Return TRUE if any field bound to this buffer manager has variable length (i.e.

packable)

Definition at line 2535 of file bdb_types.hpp.

References CBDB_BufferManager::m_Packable.

Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::ArrangePtrsUnpacked(), CBDB_BufferManager::Pack(), and CBDB_BufferManager::Unpack().

◆ IsSameType()

bool CBDB_Field::IsSameType ( const CBDB_Field field) const
inlineprotected

RTTI based check if fld is of the same type.

Definition at line 2245 of file bdb_types.hpp.

Referenced by CBDB_Field::CopyFrom().

◆ IsVariableLength()

bool CBDB_Field::IsVariableLength ( ) const
inlineprotected

Return TRUE if it is a variable length variable (like string)

Definition at line 2128 of file bdb_types.hpp.

References CBDB_Field::m_Flags.

Referenced by CBDB_BufferManager::Bind().

◆ operator char() [1/2]

CBDB_FieldUChar::operator char ( ) const
inline

Definition at line 1104 of file bdb_types.hpp.

References CBDB_FieldUChar::Get().

◆ operator char() [2/2]

CBDB_FieldChar::operator char ( ) const
inline

Definition at line 1162 of file bdb_types.hpp.

References CBDB_FieldChar::Get().

◆ operator const char *() [1/3]

CBDB_FieldFixedByteString::operator const char * ( ) const
inline

Definition at line 2310 of file bdb_types.hpp.

References _ASSERT, and str().

◆ operator const char *() [2/3]

CBDB_FieldString::operator const char * ( ) const
inline

Definition at line 2372 of file bdb_types.hpp.

References _ASSERT, and str().

◆ operator const char *() [3/3]

CBDB_FieldStringCase::operator const char * ( ) const
inline

Definition at line 1664 of file bdb_types.hpp.

References CBDB_Field::GetBuffer().

◆ operator double()

CBDB_FieldDouble::operator double ( ) const
inline

Definition at line 1486 of file bdb_types.hpp.

References CBDB_FieldDouble::Get().

◆ operator float()

CBDB_FieldFloat::operator float ( ) const
inline

Definition at line 1402 of file bdb_types.hpp.

References CBDB_FieldFloat::Get().

◆ operator Int2()

CBDB_FieldInt2::operator Int2 ( ) const
inline

Definition at line 961 of file bdb_types.hpp.

References CBDB_FieldInt2::Get().

◆ operator Int4()

CBDB_FieldInt4::operator Int4 ( ) const
inline

Definition at line 877 of file bdb_types.hpp.

References CBDB_FieldInt4::Get().

◆ operator Int8()

CBDB_FieldInt8::operator Int8 ( ) const
inline

Definition at line 709 of file bdb_types.hpp.

References CBDB_FieldInt8::Get().

◆ operator string()

CBDB_FieldLString::operator string ( ) const
inline

Definition at line 1717 of file bdb_types.hpp.

References CBDB_FieldLString::GetString().

◆ operator Uint2()

CBDB_FieldUint2::operator Uint2 ( ) const
inline

Definition at line 1045 of file bdb_types.hpp.

References CBDB_FieldUint2::Get().

◆ operator Uint4()

CBDB_FieldUint4::operator Uint4 ( ) const
inline

Definition at line 1317 of file bdb_types.hpp.

References CBDB_FieldUint4::Get().

◆ operator Uint8()

CBDB_FieldUint8::operator Uint8 ( ) const
inline

Definition at line 793 of file bdb_types.hpp.

References CBDB_FieldUint8::Get().

◆ operator=() [1/37]

CBDB_FieldChar& CBDB_FieldChar::operator= ( char  val)
inline

Definition at line 1138 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< char >::Set(), and val.

◆ operator=() [2/37]

CBDB_BufferManager& CBDB_BufferManager::operator= ( const CBDB_BufferManager )
private

◆ operator=() [3/37]

CBDB_Field& CBDB_Field::operator= ( const CBDB_Field data)
private

◆ operator=() [4/37]

CBDB_FieldChar& CBDB_FieldChar::operator= ( const CBDB_FieldChar val)
inline

Definition at line 1144 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< char >::Set(), and val.

◆ operator=() [5/37]

CBDB_FieldInt1& CBDB_FieldInt1::operator= ( const CBDB_FieldChar val)
inline

Definition at line 1205 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< char >::Set(), and val.

◆ operator=() [6/37]

CBDB_FieldDouble& CBDB_FieldDouble::operator= ( const CBDB_FieldDouble val)
inline

Definition at line 1444 of file bdb_types.hpp.

References CBDB_FieldSimpleFloat< double >::Set(), and val.

◆ operator=() [7/37]

CBDB_FieldFixedByteString & CBDB_FieldFixedByteString::operator= ( const CBDB_FieldFixedByteString str)

◆ operator=() [8/37]

CBDB_FieldFloat& CBDB_FieldFloat::operator= ( const CBDB_FieldFloat val)
inline

Definition at line 1360 of file bdb_types.hpp.

References CBDB_FieldSimpleFloat< float >::Set(), and val.

◆ operator=() [9/37]

CBDB_FieldInt2& CBDB_FieldInt2::operator= ( const CBDB_FieldInt2 val)
inline

Definition at line 919 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int2 >::Set(), and val.

◆ operator=() [10/37]

CBDB_FieldInt4& CBDB_FieldInt4::operator= ( const CBDB_FieldInt4 val)
inline

Definition at line 835 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int4 >::Set(), and val.

◆ operator=() [11/37]

CBDB_FieldInt8& CBDB_FieldInt8::operator= ( const CBDB_FieldInt8 val)
inline

Definition at line 667 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int8 >::Set(), and val.

◆ operator=() [12/37]

CBDB_FieldLString & CBDB_FieldLString::operator= ( const CBDB_FieldLString str)

◆ operator=() [13/37]

CBDB_FieldString & CBDB_FieldString::operator= ( const CBDB_FieldString str)
inline

◆ operator=() [14/37]

CBDB_FieldStringCase& CBDB_FieldStringCase::operator= ( const CBDB_FieldString str)
inline

Definition at line 1666 of file bdb_types.hpp.

References CBDB_FieldString::Set(), and str().

◆ operator=() [15/37]

CBDB_FieldStringCase& CBDB_FieldStringCase::operator= ( const CBDB_FieldStringCase str)
inline

Definition at line 1671 of file bdb_types.hpp.

References CBDB_FieldString::Set(), and str().

◆ operator=() [16/37]

CBDB_FieldUChar& CBDB_FieldUChar::operator= ( const CBDB_FieldUChar val)
inline

Definition at line 1086 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.

◆ operator=() [17/37]

CBDB_FieldUint1& CBDB_FieldUint1::operator= ( const CBDB_FieldUChar val)
inline

Definition at line 1240 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.

◆ operator=() [18/37]

CBDB_FieldUint2& CBDB_FieldUint2::operator= ( const CBDB_FieldUint2 val)
inline

Definition at line 1003 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint2 >::Set(), and val.

◆ operator=() [19/37]

CBDB_FieldUint4& CBDB_FieldUint4::operator= ( const CBDB_FieldUint4 val)
inline

Definition at line 1275 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint4 >::Set(), and val.

◆ operator=() [20/37]

CBDB_FieldUint8& CBDB_FieldUint8::operator= ( const CBDB_FieldUint8 val)
inline

Definition at line 751 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint8 >::Set(), and val.

◆ operator=() [21/37]

CBDB_FieldString & CBDB_FieldString::operator= ( const char *  str)
inline

◆ operator=() [22/37]

CBDB_FieldStringCase& CBDB_FieldStringCase::operator= ( const char *  str)
inline

Definition at line 1676 of file bdb_types.hpp.

References CBDB_FieldString::Set(), and str().

◆ operator=() [23/37]

CBDB_FieldLString & CBDB_FieldLString::operator= ( const char *  str)

◆ operator=() [24/37]

CBDB_FieldString & CBDB_FieldString::operator= ( const string str)
inline

Definition at line 2505 of file bdb_types.hpp.

References CBDB_FieldString::operator=().

◆ operator=() [25/37]

CBDB_FieldStringCase& CBDB_FieldStringCase::operator= ( const string str)
inline

Definition at line 1681 of file bdb_types.hpp.

References CBDB_FieldString::Set(), and str().

◆ operator=() [26/37]

CBDB_FieldLString & CBDB_FieldLString::operator= ( const string str)

Definition at line 1083 of file bdb_types.cpp.

References CBDB_FieldLString::SetStdString(), and str().

◆ operator=() [27/37]

CBDB_FieldDouble& CBDB_FieldDouble::operator= ( double  val)
inline

Definition at line 1438 of file bdb_types.hpp.

References CBDB_FieldSimpleFloat< double >::Set(), and val.

◆ operator=() [28/37]

CBDB_FieldFloat& CBDB_FieldFloat::operator= ( float  val)
inline

Definition at line 1354 of file bdb_types.hpp.

References CBDB_FieldSimpleFloat< float >::Set(), and val.

◆ operator=() [29/37]

CBDB_FieldInt1& CBDB_FieldInt1::operator= ( Int1  val)
inline

Definition at line 1199 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< char >::Set(), and val.

◆ operator=() [30/37]

CBDB_FieldInt2& CBDB_FieldInt2::operator= ( Int2  val)
inline

Definition at line 913 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int2 >::Set(), and val.

◆ operator=() [31/37]

CBDB_FieldInt4& CBDB_FieldInt4::operator= ( Int4  val)
inline

Definition at line 829 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int4 >::Set(), and val.

◆ operator=() [32/37]

CBDB_FieldInt8& CBDB_FieldInt8::operator= ( Int8  val)
inline

Definition at line 661 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Int8 >::Set(), and val.

◆ operator=() [33/37]

CBDB_FieldUint2& CBDB_FieldUint2::operator= ( Uint2  val)
inline

Definition at line 997 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint2 >::Set(), and val.

◆ operator=() [34/37]

CBDB_FieldUint4& CBDB_FieldUint4::operator= ( Uint4  val)
inline

Definition at line 1269 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint4 >::Set(), and val.

◆ operator=() [35/37]

CBDB_FieldUint8& CBDB_FieldUint8::operator= ( Uint8  val)
inline

Definition at line 745 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< Uint8 >::Set(), and val.

◆ operator=() [36/37]

CBDB_FieldUChar& CBDB_FieldUChar::operator= ( unsigned char  val)
inline

Definition at line 1080 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.

◆ operator=() [37/37]

CBDB_FieldUint1& CBDB_FieldUint1::operator= ( unsigned char  val)
inline

Definition at line 1234 of file bdb_types.hpp.

References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.

◆ Pack()

unsigned int CBDB_BufferManager::Pack ( )
protected

◆ PrepareDBT_ForRead()

void CBDB_BufferManager::PrepareDBT_ForRead ( DBT dbt)
protected

Initialize DBT structure for read operation.

Definition at line 747 of file bdb_types.cpp.

References CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, and CBDB_BufferManager::m_PackedSize.

◆ PrepareDBT_ForWrite()

void CBDB_BufferManager::PrepareDBT_ForWrite ( DBT dbt)
protected

Pack the buffer and initialize DBT structure for write operation.

Definition at line 738 of file bdb_types.cpp.

References CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, CBDB_BufferManager::m_PackedSize, and CBDB_BufferManager::Pack().

◆ Set() [1/6]

void CBDB_FieldFixedByteString::Set ( const char *  str)
inline

◆ Set() [2/6]

void CBDB_FieldString::Set ( const char *  str,
EOverflowAction  if_overflow = eThrowOnOverflow 
)
inline

◆ Set() [3/6]

void CBDB_FieldLString::Set ( const char *  str,
EOverflowAction  if_overflow = eThrowOnOverflow 
)

◆ Set() [4/6]

void CBDB_FieldLString::Set ( const char *  str,
size_t  size,
EOverflowAction  if_overflow = eThrowOnOverflow 
)

◆ Set() [5/6]

template<typename T >
void CBDB_FieldSimpleInt< T >::Set ( T  val)
inline

◆ Set() [6/6]

template<typename T >
void CBDB_FieldSimpleFloat< T >::Set ( T  val)
inline

◆ SetAllNull()

void CBDB_BufferManager::SetAllNull ( )
inlineprotected

◆ SetBuffer()

void CBDB_Field::SetBuffer ( void *  buf,
size_t  buf_size = 0 
)
inlineprotected

Set external buffer pointer and length.

Zero 'buf_size' means GetBufferSize() is used to obtain the buf. size.

Definition at line 2185 of file bdb_types.hpp.

References buf, CBDB_Field::m_Buffer, CBDB_Field::m_BufferSize, and CBDB_Field::m_Flags.

◆ SetBufferIdx()

void CBDB_Field::SetBufferIdx ( unsigned int  idx)
inlineprotected

Set field position in the buffer manager.

Definition at line 2207 of file bdb_types.hpp.

References CBDB_Field::m_BufferIdx.

Referenced by CBDB_BufferManager::Bind().

◆ SetBufferManager()

void CBDB_Field::SetBufferManager ( CBDB_BufferManager owner)
inlineprotected

Set CBDB_BufferManager – which works as a memory manager for BDB fields.

Definition at line 2225 of file bdb_types.hpp.

References _ASSERT, and CBDB_Field::m_BufferManager.

◆ SetBufferSize()

void CBDB_Field::SetBufferSize ( size_t  size)
inlineprotected

◆ SetByteSwapped()

void CBDB_BufferManager::SetByteSwapped ( bool  byte_swapped)
inlineprotected

Set byte swapping flag for the buffer.

Definition at line 1872 of file bdb_types.hpp.

References CBDB_BufferManager::m_ByteSwapped.

◆ SetDataSize()

void CBDB_Field::SetDataSize ( size_t  size)
inlineprotected

Set data size, taking into account possible extra data for some fields.

Definition at line 2201 of file bdb_types.hpp.

References CBDB_Field::GetExtraDataLength(), CBDB_Field::m_BufferSize, and ncbi::grid::netcache::search::fields::size.

Referenced by CBDB_File::BindData(), and CBDB_File::BindKey().

◆ SetDBT_Size()

void CBDB_BufferManager::SetDBT_Size ( size_t  size)
inlineprotected

◆ SetDouble() [1/2]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetDouble ( double  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 641 of file bdb_types.hpp.

◆ SetDouble() [2/2]

virtual void IBDB_FieldConvert::SetDouble ( double  )
inlinevirtual

◆ SetField()

template<typename T >
void CBDB_FieldSimple< T >::SetField ( const CBDB_FieldSimple< T > &  field)
inline

Definition at line 436 of file bdb_types.hpp.

◆ SetFieldCompareLimit()

void CBDB_BufferManager::SetFieldCompareLimit ( unsigned int  n_fields)
inline

Sets maximum number of fields participating in comparison Should be less than total number of fields in the buffer.

Definition at line 2692 of file bdb_types.hpp.

References CBDB_BufferManager::m_CompareLimit.

◆ SetFieldOwnership()

void CBDB_BufferManager::SetFieldOwnership ( bool  own_fields)
inlineprotected

Fields deletion is managed by the class when own_fields is TRUE.

Definition at line 1898 of file bdb_types.hpp.

References CBDB_BufferManager::m_OwnFields.

◆ SetFloat() [1/2]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetFloat ( float  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 640 of file bdb_types.hpp.

◆ SetFloat() [2/2]

virtual void IBDB_FieldConvert::SetFloat ( float  )
inlinevirtual

◆ SetInt() [1/3]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetInt ( int  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 525 of file bdb_types.hpp.

◆ SetInt() [2/3]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetInt ( int  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 628 of file bdb_types.hpp.

◆ SetInt() [3/3]

virtual void IBDB_FieldConvert::SetInt ( int  )
inlinevirtual

◆ SetLegacyStringsCheck()

void CBDB_BufferManager::SetLegacyStringsCheck ( bool  value)
inlineprotected

Set C-str detection.

Definition at line 1893 of file bdb_types.hpp.

References CBDB_BufferManager::m_LegacyString, and rapidjson::value.

◆ SetMaxVal() [1/7]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetMaxVal ( )
inlinevirtual

Set maximum possible value for the field type.

Implements IBDB_Field.

Definition at line 584 of file bdb_types.hpp.

◆ SetMaxVal() [2/7]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetMaxVal ( )
inlinevirtual

Set maximum possible value for the field type.

Implements IBDB_Field.

Definition at line 648 of file bdb_types.hpp.

◆ SetMaxVal() [3/7]

void CBDB_FieldFixedByteString::SetMaxVal ( )
inlinevirtual

Set maximum possible value for the field type.

Implements IBDB_Field.

Definition at line 2355 of file bdb_types.hpp.

References buf, CBDB_Field::GetBufferSize(), and CBDB_Field::Unpack().

◆ SetMaxVal() [4/7]

void CBDB_FieldString::SetMaxVal ( )
inlinevirtual

Set maximum possible value for the field type.

Implements IBDB_Field.

Definition at line 2460 of file bdb_types.hpp.

References buf, CBDB_Field::GetBufferSize(), CBDB_Field::SetNotNull(), and CBDB_Field::Unpack().

◆ SetMaxVal() [5/7]

void CBDB_FieldLString::SetMaxVal ( )
virtual

Set maximum possible value for the field type.

Implements IBDB_Field.

Definition at line 1014 of file bdb_types.cpp.

References buf, CBDB_Field::GetBufferSize(), int, CBDB_Field::SetNotNull(), and CBDB_Field::Unpack().

◆ SetMaxVal() [6/7]

virtual void IBDB_Field::SetMaxVal ( )
pure virtual

◆ SetMaxVal() [7/7]

void CBDB_BufferManager::SetMaxVal ( unsigned int  idx_from,
unsigned int  idx_to 
)
inlineprotected

Set maximum possible value to buffer fields from 'idx_from' to 'idx_to'.

Definition at line 2681 of file bdb_types.hpp.

References _ASSERT, CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetField(), and IBDB_Field::SetMaxVal().

Referenced by CBDB_FC_Condition::InitUnassignedFields().

◆ SetMinVal() [1/7]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetMinVal ( )
inlinevirtual

Set minimal possible value for the field type.

Implements IBDB_Field.

Definition at line 579 of file bdb_types.hpp.

◆ SetMinVal() [2/7]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetMinVal ( )
inlinevirtual

Set minimal possible value for the field type.

Implements IBDB_Field.

Definition at line 643 of file bdb_types.hpp.

◆ SetMinVal() [3/7]

void CBDB_FieldFixedByteString::SetMinVal ( )
inlinevirtual

Set minimal possible value for the field type.

Implements IBDB_Field.

Definition at line 2348 of file bdb_types.hpp.

References buf, CBDB_Field::GetBufferSize(), and CBDB_Field::Unpack().

◆ SetMinVal() [4/7]

void CBDB_FieldString::SetMinVal ( )
inlinevirtual

Set minimal possible value for the field type.

Implements IBDB_Field.

Definition at line 2454 of file bdb_types.hpp.

References CBDB_Field::Unpack().

◆ SetMinVal() [5/7]

void CBDB_FieldLString::SetMinVal ( )
virtual

Set minimal possible value for the field type.

Implements IBDB_Field.

Definition at line 1008 of file bdb_types.cpp.

References CBDB_FieldStringBase::eTruncateOnOverflow, and CBDB_FieldLString::Set().

◆ SetMinVal() [6/7]

virtual void IBDB_Field::SetMinVal ( )
pure virtual

◆ SetMinVal() [7/7]

void CBDB_BufferManager::SetMinVal ( unsigned int  idx_from,
unsigned int  idx_to 
)
inlineprotected

Set minimum possible value to buffer fields from 'idx_from' to 'idx_to'.

Definition at line 2669 of file bdb_types.hpp.

References _ASSERT, CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetField(), and IBDB_Field::SetMinVal().

Referenced by CBDB_FC_Condition::InitUnassignedFields().

◆ SetName()

void CBDB_Field::SetName ( const char *  name)
inlineprotected

Set symbolic name for the field.

Definition at line 2295 of file bdb_types.hpp.

References _ASSERT, and CBDB_Field::m_Name.

Referenced by CBDB_File::BindData(), and CBDB_File::BindKey().

◆ SetNotNull()

void CBDB_Field::SetNotNull ( )
inlineprotected

◆ SetNull() [1/2]

void CBDB_Field::SetNull ( )
inline

◆ SetNull() [2/2]

void CBDB_BufferManager::SetNull ( unsigned int  field_idx,
bool  value 
)
inlineprotected

◆ SetNullable() [1/2]

void CBDB_Field::SetNullable ( )
inlineprotected

Mark field as "NULL" capable.

Definition at line 2152 of file bdb_types.hpp.

References CBDB_Field::m_Flags.

Referenced by CBDB_BufferManager::Bind(), and CBDB_File::BindData().

◆ SetNullable() [2/2]

void CBDB_BufferManager::SetNullable ( )
inlineprotected

Mark buffer as "NULL fields ready".

NOTE: Should be called before buffer construction.

Definition at line 2547 of file bdb_types.hpp.

References _ASSERT, CBDB_BufferManager::m_Buffer, and CBDB_BufferManager::m_Nullable.

◆ SetNullBit()

void CBDB_BufferManager::SetNullBit ( unsigned int  idx,
bool  value 
)
inlineprotected

◆ SetPackable()

void CBDB_BufferManager::SetPackable ( bool  packable)
inlineprotected

Disable-enable packing.

Definition at line 1904 of file bdb_types.hpp.

References CBDB_BufferManager::m_Packable.

◆ SetStdString() [1/6]

virtual void IBDB_FieldConvert::SetStdString ( const string )
inlinevirtual

◆ SetStdString() [2/6]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetStdString ( const string str)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 559 of file bdb_types.hpp.

◆ SetStdString() [3/6]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetStdString ( const string str)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 635 of file bdb_types.hpp.

◆ SetStdString() [4/6]

virtual void CBDB_FieldFixedByteString::SetStdString ( const string str)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 1550 of file bdb_types.hpp.

References _ASSERT, CBDB_Field::GetBufferSize(), CBDB_FieldFixedByteString::SetString(), and str().

◆ SetStdString() [5/6]

virtual void CBDB_FieldString::SetStdString ( const string str)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 1629 of file bdb_types.hpp.

References CBDB_FieldString::SetString(), and str().

◆ SetStdString() [6/6]

void CBDB_FieldLString::SetStdString ( const string str)
virtual

◆ SetString() [1/6]

virtual void IBDB_FieldConvert::SetString ( const char *  )
inlinevirtual

◆ SetString() [2/6]

void CBDB_FieldString::SetString ( const char *  str)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 2440 of file bdb_types.hpp.

References CBDB_FieldString::operator=(), and str().

Referenced by CBDB_FieldString::SetStdString().

◆ SetString() [3/6]

void CBDB_FieldLString::SetString ( const char *  str)
virtual

Reimplemented from IBDB_FieldConvert.

Definition at line 976 of file bdb_types.cpp.

References CBDB_FieldLString::operator=(), and str().

◆ SetString() [4/6]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetString ( const char *  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 527 of file bdb_types.hpp.

Referenced by CBDB_FieldSimpleInt< Uint2 >::SetStdString().

◆ SetString() [5/6]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetString ( const char *  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 630 of file bdb_types.hpp.

Referenced by CBDB_FieldSimpleFloat< float >::SetStdString().

◆ SetString() [6/6]

virtual void CBDB_FieldFixedByteString::SetString ( const char *  val)
inlinevirtual

Reimplemented from IBDB_FieldConvert.

Definition at line 1534 of file bdb_types.hpp.

References CBDB_FieldFixedByteString::Set(), and val.

Referenced by CBDB_FieldFixedByteString::SetStdString().

◆ SetUint() [1/3]

template<typename T >
virtual void CBDB_FieldSimpleInt< T >::SetUint ( unsigned int  val)
inlinevirtual

Definition at line 526 of file bdb_types.hpp.

◆ SetUint() [2/3]

template<typename T >
virtual void CBDB_FieldSimpleFloat< T >::SetUint ( unsigned int  val)
inlinevirtual

Definition at line 629 of file bdb_types.hpp.

◆ SetUint() [3/3]

virtual void IBDB_FieldConvert::SetUint ( unsigned  )
inlinevirtual

Definition at line 257 of file bdb_types.hpp.

References BDB_THROW, and eType.

Referenced by CBDB_ConditionHandle::operator<<().

◆ TestNullBit()

bool CBDB_BufferManager::TestNullBit ( unsigned int  idx) const
inlineprotected

◆ ToString() [1/16]

virtual void CBDB_FieldUChar::ToString ( string s) const
inlinevirtual

Implements IBDB_FieldConvert.

Reimplemented in CBDB_FieldUint1.

Definition at line 1114 of file bdb_types.hpp.

References CBDB_FieldUChar::Get().

◆ ToString() [2/16]

virtual void CBDB_FieldChar::ToString ( string s) const
inlinevirtual

Implements IBDB_FieldConvert.

Reimplemented in CBDB_FieldInt1.

Definition at line 1172 of file bdb_types.hpp.

References CBDB_FieldChar::Get().

◆ ToString() [3/16]

virtual void CBDB_FieldInt1::ToString ( string s) const
inlinevirtual

Reimplemented from CBDB_FieldChar.

Definition at line 1221 of file bdb_types.hpp.

References CBDB_FieldInt1::GetString().

◆ ToString() [4/16]

virtual void CBDB_FieldUint1::ToString ( string s) const
inlinevirtual

Reimplemented from CBDB_FieldUChar.

Definition at line 1256 of file bdb_types.hpp.

References CBDB_FieldUint1::GetString().

◆ ToString() [5/16]

virtual void CBDB_FieldInt8::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 703 of file bdb_types.hpp.

References CBDB_FieldInt8::Get(), NStr::Int8ToString(), and str().

◆ ToString() [6/16]

virtual void CBDB_FieldUint8::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 787 of file bdb_types.hpp.

References CBDB_FieldUint8::Get(), str(), and NStr::UInt8ToString().

◆ ToString() [7/16]

virtual void CBDB_FieldInt4::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 871 of file bdb_types.hpp.

References CBDB_FieldInt4::Get(), NStr::IntToString(), and str().

◆ ToString() [8/16]

virtual void CBDB_FieldInt2::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 955 of file bdb_types.hpp.

References CBDB_FieldInt2::Get(), NStr::IntToString(), and str().

◆ ToString() [9/16]

virtual void CBDB_FieldUint2::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1039 of file bdb_types.hpp.

References CBDB_FieldUint2::Get(), NStr::IntToString(), and str().

◆ ToString() [10/16]

virtual void CBDB_FieldUint4::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1311 of file bdb_types.hpp.

References CBDB_FieldUint4::Get(), str(), and NStr::UIntToString().

◆ ToString() [11/16]

virtual void CBDB_FieldFloat::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1396 of file bdb_types.hpp.

References NStr::DoubleToString(), CBDB_FieldFloat::Get(), and str().

◆ ToString() [12/16]

virtual void CBDB_FieldDouble::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1480 of file bdb_types.hpp.

References NStr::DoubleToString(), CBDB_FieldDouble::Get(), and str().

◆ ToString() [13/16]

virtual void CBDB_FieldFixedByteString::ToString ( string str) const
inlinevirtual

Implements IBDB_FieldConvert.

Definition at line 1555 of file bdb_types.hpp.

References CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), and str().

◆ ToString() [14/16]

virtual void CBDB_FieldString::ToString ( string str) const
inlinevirtual

◆ ToString() [15/16]

void CBDB_FieldLString::ToString ( string str) const
virtual

◆ ToString() [16/16]

virtual void IBDB_FieldConvert::ToString ( string str) const
pure virtual

◆ Unpack() [1/2]

void * CBDB_Field::Unpack ( )
inlineprotected

◆ Unpack() [2/2]

unsigned int CBDB_BufferManager::Unpack ( )
protected

◆ x_ComputePackOpt()

void CBDB_BufferManager::x_ComputePackOpt ( )
private

◆ ~CBDB_BufferManager()

CBDB_BufferManager::~CBDB_BufferManager ( )

◆ ~CBDB_Field()

virtual CBDB_Field::~CBDB_Field ( )
inlinevirtual

Definition at line 305 of file bdb_types.hpp.

◆ ~IBDB_Field()

IBDB_Field::~IBDB_Field ( )
virtual

Definition at line 439 of file bdb_types.cpp.

◆ ~IBDB_FieldConvert()

virtual IBDB_FieldConvert::~IBDB_FieldConvert ( )
inlinevirtual

Definition at line 253 of file bdb_types.hpp.

Variable Documentation

◆ Attached [1/2]

unsigned CBDB_Field::Attached

Definition at line 404 of file bdb_types.hpp.

◆  [2/2]

unsigned { ... } ::Attached

Definition at line 404 of file bdb_types.hpp.

◆ m_Buffer [1/2]

void* CBDB_Field::m_Buffer
private

◆ m_Buffer [2/2]

char* CBDB_BufferManager::m_Buffer
private

◆ m_BufferIdx

unsigned CBDB_Field::m_BufferIdx
private

◆ m_BufferManager

CBDB_BufferManager* CBDB_Field::m_BufferManager
protected

◆ m_BufferSize [1/2]

size_t CBDB_Field::m_BufferSize
private

◆ m_BufferSize [2/2]

size_t CBDB_BufferManager::m_BufferSize
private

◆ m_ByteSwapped

bool CBDB_BufferManager::m_ByteSwapped
private

TRUE if buffer is in a non-native arch.

Definition at line 1925 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::IsByteSwapped(), and CBDB_BufferManager::SetByteSwapped().

◆ m_CompareLimit

unsigned int CBDB_BufferManager::m_CompareLimit
private

Number of fields in key comparison.

Definition at line 1933 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::GetFieldCompareLimit(), and CBDB_BufferManager::SetFieldCompareLimit().

◆ m_DBT_Size

size_t CBDB_BufferManager::m_DBT_Size
private

◆ m_Fields

TFieldVector CBDB_BufferManager::m_Fields
private

◆ m_FirstVarFieldIdx

unsigned int CBDB_BufferManager::m_FirstVarFieldIdx
private

Index of first variable length field.

Definition at line 1947 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::Pack(), CBDB_BufferManager::Unpack(), and CBDB_BufferManager::x_ComputePackOpt().

◆ m_FirstVarFieldIdxOffs

unsigned int CBDB_BufferManager::m_FirstVarFieldIdxOffs
private

Buffer offset of first variable length field.

Definition at line 1949 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::Pack(), CBDB_BufferManager::Unpack(), and CBDB_BufferManager::x_ComputePackOpt().

◆ 

struct { ... } CBDB_Field::m_Flags

◆ m_LegacyString

bool CBDB_BufferManager::m_LegacyString
private

Flag to check for legacy string compatibility.

Definition at line 1936 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::DuplicateStructureFrom(), CBDB_BufferManager::IsLegacyStrings(), and CBDB_BufferManager::SetLegacyStringsCheck().

◆ m_Name

string CBDB_Field::m_Name
private

Definition at line 411 of file bdb_types.hpp.

Referenced by CBDB_Field::GetName(), and CBDB_Field::SetName().

◆ m_Nullable

bool CBDB_BufferManager::m_Nullable
private

TRUE if buffer can carry NULL fields.

Definition at line 1928 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::IsNullable(), and CBDB_BufferManager::SetNullable().

◆ m_NullSetSize

size_t CBDB_BufferManager::m_NullSetSize
private

◆ m_OwnFields

bool CBDB_BufferManager::m_OwnFields
private

◆ m_Packable

bool CBDB_BufferManager::m_Packable
private

◆ m_PackedSize

size_t CBDB_BufferManager::m_PackedSize
private

◆ m_PackOptComputed

bool CBDB_BufferManager::m_PackOptComputed
private

Pack optimization flag (turns TRUE on first Pack call)

Definition at line 1945 of file bdb_types.hpp.

Referenced by CBDB_BufferManager::Pack(), CBDB_BufferManager::Unpack(), and CBDB_BufferManager::x_ComputePackOpt().

◆ m_Ptrs

vector<void*> CBDB_BufferManager::m_Ptrs
private

◆  [1/2]

unsigned { ... } ::Nullable

Definition at line 405 of file bdb_types.hpp.

◆ Nullable [2/2]

unsigned CBDB_Field::Nullable

Definition at line 405 of file bdb_types.hpp.

◆ VariableLength [1/2]

unsigned CBDB_Field::VariableLength

Definition at line 403 of file bdb_types.hpp.

◆  [2/2]

unsigned { ... } ::VariableLength

Definition at line 403 of file bdb_types.hpp.

Friends

◆ CBDB_BLobFile [1/2]

friend class CBDB_BLobFile
friend

Definition at line 416 of file bdb_types.hpp.

◆ CBDB_BLobFile [2/2]

friend class CBDB_BLobFile
friend

Definition at line 1953 of file bdb_types.hpp.

◆ CBDB_BufferManager

friend class CBDB_BufferManager
friend

Definition at line 414 of file bdb_types.hpp.

◆ CBDB_FC_Condition

friend class CBDB_FC_Condition
friend

Definition at line 1956 of file bdb_types.hpp.

◆ CBDB_Field

friend class CBDB_Field
friend

Definition at line 1952 of file bdb_types.hpp.

◆ CBDB_File [1/2]

friend class CBDB_File
friend

Definition at line 415 of file bdb_types.hpp.

◆ CBDB_File [2/2]

friend class CBDB_File
friend

Definition at line 1954 of file bdb_types.hpp.

◆ CBDB_FileCursor [1/2]

friend class CBDB_FileCursor
friend

Definition at line 285 of file bdb_types.hpp.

◆ CBDB_FileCursor [2/2]

friend class CBDB_FileCursor
friend

Definition at line 1955 of file bdb_types.hpp.

Modified on Fri Sep 20 14:58:27 2024 by modify_doxy.py rev. 669887