NCBI C++ ToolKit
|
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 > |
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 } |
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 |
Definition at line 1652 of file bdb_types.hpp.
typedef T CBDB_FieldSimple< T >::TFieldType |
Definition at line 428 of file bdb_types.hpp.
typedef void* SBDB_TypeTraits< Type >::TFieldType |
Definition at line 2011 of file bdb_types.hpp.
typedef CBDB_FieldInt1 SBDB_TypeTraits< Int1 >::TFieldType |
Definition at line 2022 of file bdb_types.hpp.
typedef CBDB_FieldUint1 SBDB_TypeTraits< Uint1 >::TFieldType |
Definition at line 2029 of file bdb_types.hpp.
typedef CBDB_FieldInt2 SBDB_TypeTraits< Int2 >::TFieldType |
Definition at line 2040 of file bdb_types.hpp.
typedef CBDB_FieldUint2 SBDB_TypeTraits< Uint2 >::TFieldType |
Definition at line 2047 of file bdb_types.hpp.
typedef CBDB_FieldInt4 SBDB_TypeTraits< Int4 >::TFieldType |
Definition at line 2058 of file bdb_types.hpp.
typedef CBDB_FieldUint4 SBDB_TypeTraits< Uint4 >::TFieldType |
Definition at line 2065 of file bdb_types.hpp.
typedef CBDB_FieldInt8 SBDB_TypeTraits< Int8 >::TFieldType |
Definition at line 2076 of file bdb_types.hpp.
typedef CBDB_FieldUint8 SBDB_TypeTraits< Uint8 >::TFieldType |
Definition at line 2083 of file bdb_types.hpp.
typedef CBDB_FieldString SBDB_TypeTraits< string >::TFieldType |
Definition at line 2094 of file bdb_types.hpp.
typedef CBDB_FieldFloat SBDB_TypeTraits< float >::TFieldType |
Definition at line 2105 of file bdb_types.hpp.
typedef CBDB_FieldDouble SBDB_TypeTraits< double >::TFieldType |
Definition at line 2112 of file bdb_types.hpp.
|
private |
Definition at line 1913 of file bdb_types.hpp.
typedef Type SBDB_TypeTraits< Type >::TType |
Definition at line 2010 of file bdb_types.hpp.
typedef Int4 SBDB_TypeTraits< Int1 >::TType |
Definition at line 2021 of file bdb_types.hpp.
typedef Uint4 SBDB_TypeTraits< Uint1 >::TType |
Definition at line 2028 of file bdb_types.hpp.
typedef Int4 SBDB_TypeTraits< Int2 >::TType |
Definition at line 2039 of file bdb_types.hpp.
typedef Uint4 SBDB_TypeTraits< Uint2 >::TType |
Definition at line 2046 of file bdb_types.hpp.
typedef Int4 SBDB_TypeTraits< Int4 >::TType |
Definition at line 2057 of file bdb_types.hpp.
typedef Uint4 SBDB_TypeTraits< Uint4 >::TType |
Definition at line 2064 of file bdb_types.hpp.
typedef Int8 SBDB_TypeTraits< Int8 >::TType |
Definition at line 2075 of file bdb_types.hpp.
typedef Uint8 SBDB_TypeTraits< Uint8 >::TType |
Definition at line 2082 of file bdb_types.hpp.
typedef string SBDB_TypeTraits< string >::TType |
Definition at line 2093 of file bdb_types.hpp.
typedef float SBDB_TypeTraits< float >::TType |
Definition at line 2104 of file bdb_types.hpp.
typedef double SBDB_TypeTraits< double >::TType |
Definition at line 2111 of file bdb_types.hpp.
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.
Enumerator | |
---|---|
eThrowOnOverflow | |
eTruncateOnOverflow | |
eTruncateOnOverflowLogError |
Definition at line 1574 of file bdb_types.hpp.
Enumerator | |
---|---|
eUnknown | |
eString | |
eLString | |
eInt8 | |
eInt4 | |
eUint4 | |
eInt2 | |
eUint1 | |
eFloat | |
eDouble | |
eUChar | |
eBlob |
Definition at line 1963 of file bdb_types.hpp.
|
protected |
Definition at line 618 of file bdb_types.cpp.
References _ASSERT, df(), i, CBDB_BufferManager::IsPackable(), len, CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_NullSetSize, and CBDB_BufferManager::m_PackedSize.
Referenced by CBDB_BufferManager::CopyPackedFrom().
|
inlineprotected |
Definition at line 2630 of file bdb_types.hpp.
References df(), CBDB_BufferManager::GetField(), i, CBDB_BufferManager::IsPackable(), CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_PackedSize, and CBDB_BufferManager::m_Ptrs.
Referenced by CBDB_BufferManager::Clear().
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().
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().
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().
Definition at line 382 of file bdb_types.cpp.
References CByteSwap::GetInt4(), and v2.
Referenced by BDB_ByteSwap_IntCompare(), CBDB_FieldInt4::GetCompareFunction(), and CBDB_IdFile::SetCmp().
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().
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().
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().
Definition at line 350 of file bdb_types.cpp.
References CByteSwap::GetInt4(), int, and v2.
Referenced by BDB_ByteSwap_UintCompare(), CBDB_FieldUint4::GetCompareFunction(), and CBDB_LobFile::SetCmp().
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().
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().
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().
General purpose DBD comparison function.
Definition at line 283 of file bdb_types.cpp.
References _ASSERT, IBDB_Field::Compare(), CBDB_BufferManager::FieldCount(), IBDB_Field::GetDataLength(), CBDB_BufferManager::GetField(), CBDB_BufferManager::GetFieldCompareLimit(), i, and CBDB_BufferManager::IsByteSwapped().
Referenced by CBDB_BufferManager::GetCompareFunction(), and CBDB_Field::GetCompareFunction().
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().
Simple and fast comparison function for tables with non-segmented fixed length string keys.
Definition at line 244 of file bdb_types.cpp.
Referenced by CBDB_FieldFixedByteString::GetCompareFunction().
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().
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().
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().
Definition at line 151 of file bdb_types.cpp.
References v2.
Referenced by BDB_IntCompare(), CBDB_FieldInt4::GetCompareFunction(), and CBDB_IdFile::SetCmp().
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().
Simple and fast comparison function for tables with non-segmented "int" keys.
Definition at line 146 of file bdb_types.cpp.
References BDB_Int4Compare().
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().
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().
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().
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().
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().
Definition at line 104 of file bdb_types.cpp.
References v2.
Referenced by BDB_UintCompare(), CBDB_FieldUint4::GetCompareFunction(), and CBDB_LobFile::SetCmp().
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().
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().
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().
|
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().
|
protected |
Definition at line 476 of file bdb_types.cpp.
|
private |
|
private |
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 | ( | ) |
Definition at line 1163 of file bdb_types.cpp.
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 | ( | ) |
Definition at line 850 of file bdb_types.cpp.
References CBDB_Field::SetBufferSize().
Referenced by CBDB_FieldLString::Construct().
|
inline |
Definition at line 430 of file bdb_types.hpp.
|
inline |
Definition at line 600 of file bdb_types.hpp.
|
inline |
Definition at line 491 of file bdb_types.hpp.
|
inline |
Definition at line 2365 of file bdb_types.hpp.
References CBDB_Field::SetBufferSize().
Referenced by CBDB_FieldString::Construct().
|
inlineprotected |
Definition at line 1581 of file bdb_types.hpp.
|
inlineexplicit |
Definition at line 1654 of file bdb_types.hpp.
Referenced by CBDB_FieldStringCase::Construct().
|
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().
|
inlineprotected |
Definition at line 2649 of file bdb_types.hpp.
References CBDB_BufferManager::ArrangePtrsUnpacked(), CBDB_BufferManager::m_Buffer, and CBDB_BufferManager::m_BufferSize.
|
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.
|
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().
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
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.
|
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.
|
pure 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
Implemented in CBDB_FieldLString, CBDB_FieldStringCase, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldSimple< T >, CBDB_FieldSimple< double >, CBDB_FieldSimple< float >, CBDB_FieldSimple< Uint8 >, CBDB_FieldSimple< unsigned char >, CBDB_FieldSimple< Int4 >, CBDB_FieldSimple< Int2 >, CBDB_FieldSimple< char >, CBDB_FieldSimple< Uint4 >, CBDB_FieldSimple< Int8 >, CBDB_FieldSimple< Uint2 >, 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 >.
Referenced by BDB_Compare(), and CBDB_Field::CompareWith().
|
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().
|
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.
|
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.
|
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().
|
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().
|
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().
|
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().
|
inlineprotected |
Field comparison function.
Definition at line 2238 of file bdb_types.hpp.
References IBDB_Field::Compare(), CBDB_Field::GetBuffer(), CBDB_BufferManager::IsByteSwapped(), and CBDB_Field::m_BufferManager.
Referenced by CBDB_BufferManager::Compare().
|
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().
|
inlineprotected |
Definition at line 2554 of file bdb_types.hpp.
References CBDB_BufferManager::FieldCount(), and CBDB_BufferManager::IsNullable().
Referenced by CBDB_BufferManager::Construct().
|
protected |
Create internal data buffer, assign places in this buffer to the fields.
Definition at line 567 of file bdb_types.cpp.
References _ASSERT, CBDB_BufferManager::ComputeBufferSize(), CBDB_BufferManager::ComputeNullSetSize(), df(), i, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_NullSetSize, CBDB_BufferManager::m_PackedSize, and CBDB_BufferManager::m_Ptrs.
Referenced by CBDB_FC_Condition::CBDB_FC_Condition().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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().
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().
|
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().
|
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().
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().
CBDB_Field * CBDB_FieldFactory::Create | ( | const string & | type | ) | const |
Create field type by string.
Caller is responsible for deletion.
type | string 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().
CBDB_Field * CBDB_FieldFactory::Create | ( | EType | type | ) | const |
Definition at line 1208 of file bdb_types.cpp.
References BDB_THROW, CBDB_FieldFactory::eDouble, CBDB_FieldFactory::eFloat, CBDB_FieldFactory::eInt2, CBDB_FieldFactory::eInt4, CBDB_FieldFactory::eInt8, CBDB_FieldFactory::eLString, CBDB_FieldFactory::eString, CBDB_FieldFactory::eUChar, and CBDB_FieldFactory::eUint1.
Referenced by CBDB_FieldFactory::Create(), and CBDB_FileDumperApp::Dump().
|
inline |
Definition at line 2708 of file bdb_types.hpp.
Referenced by CBDB_FC_Condition::~CBDB_FC_Condition().
|
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().
|
inline |
Return number of fields attached using function Bind.
Definition at line 2529 of file bdb_types.hpp.
References CBDB_BufferManager::m_Fields.
Referenced by BDB_Compare(), BDB_find_field(), CBDB_BufferManager::Compare(), CBDB_BufferManager::ComputeNullSetSize(), CBDB_BufferManager::CopyFieldsFrom(), CBDB_FileDumperApp::Dump(), CBDB_BufferManager::DuplicateStructureFrom(), CBDB_FC_Condition::GetUnassignedField(), CBDB_FC_Condition::IncFieldsAssigned(), CBDB_FC_Condition::InitUnassignedFields(), CBDB_FC_Condition::IsComplete(), CBDB_BufferManager::SetMaxVal(), CBDB_BufferManager::SetMinVal(), CBDB_FileDumper::x_DumpFields(), and CBDB_FileDumper::x_SetQuoteFlags().
|
inline |
Definition at line 678 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt8(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldInt8::GetString(), CBDB_FieldInt8::operator Int8(), and CBDB_FieldInt8::ToString().
|
inline |
Definition at line 762 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt8(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldUint8::GetString(), CBDB_FieldUint8::operator Uint8(), and CBDB_FieldUint8::ToString().
|
inline |
Definition at line 846 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt4(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by BDB_get_rowid(), CBDB_FieldInt4::GetString(), CBDB_FieldInt4::operator Int4(), PrintRecord(), SearchPhoneBook(), and CBDB_FieldInt4::ToString().
|
inline |
Definition at line 930 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt2(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by BDB_get_rowid(), CBDB_FieldInt2::GetString(), CBDB_FieldInt2::operator Int2(), and CBDB_FieldInt2::ToString().
|
inline |
Definition at line 1014 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt2(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldUint2::GetString(), CBDB_FieldUint2::operator Uint2(), and CBDB_FieldUint2::ToString().
|
inline |
Definition at line 1097 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBuffer(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldUChar::GetString(), CBDB_FieldUint1::GetString(), CBDB_FieldUChar::operator char(), and CBDB_FieldUChar::ToString().
|
inline |
Definition at line 1155 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBuffer(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldChar::GetString(), CBDB_FieldInt1::GetString(), CBDB_FieldChar::operator char(), and CBDB_FieldChar::ToString().
|
inline |
Definition at line 1286 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetInt4(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by BDB_get_rowid(), CBDB_FieldUint4::GetString(), CBDB_FieldUint4::operator Uint4(), and CBDB_FieldUint4::ToString().
|
inline |
Definition at line 1371 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetFloat(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldFloat::GetString(), CBDB_FieldFloat::operator float(), and CBDB_FieldFloat::ToString().
|
inline |
Definition at line 1455 of file bdb_types.hpp.
References _ASSERT, b, CBDB_Field::GetBuffer(), CByteSwap::GetDouble(), CBDB_Field::IsByteSwapped(), and CBDB_Field::IsNull().
Referenced by CBDB_FieldDouble::GetString(), CBDB_FieldDouble::operator double(), and CBDB_FieldDouble::ToString().
|
inline |
Definition at line 2325 of file bdb_types.hpp.
References _ASSERT, buf, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), CBDB_Field::IsNull(), and string.
Referenced by CBDB_FieldFixedByteString::GetString().
|
inline |
Definition at line 1609 of file bdb_types.hpp.
References CBDB_Field::GetBuffer(), and string.
Referenced by CBDB_FieldString::GetString().
string CBDB_FieldLString::Get | ( | void | ) | const |
Definition at line 1090 of file bdb_types.cpp.
References _ASSERT, buf, CBDB_Field::GetBuffer(), CBDB_FieldLString::GetLString(), CBDB_BufferManager::IsLegacyStrings(), CBDB_Field::IsNull(), kEmptyStr, CBDB_Field::m_BufferManager, and str().
Referenced by CBDB_FieldLString::GetString().
|
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.
|
inline |
Get pointer to the data. NULL if not yet attached.
Definition at line 2213 of file bdb_types.hpp.
References CBDB_Field::m_Buffer.
Referenced by BDB_GetStringFieldBuf(), CBDB_Field::CompareWith(), CBDB_Field::CopyFrom(), CBDB_MergeBlobWalkerAsync< BF >::DoFetch(), CBDB_MergeBlobWalker< BF >::Fetch(), CBDB_MergeBlobWalkerAsync< BF >::Fetch(), CBDB_FieldInt8::Get(), CBDB_FieldUint8::Get(), CBDB_FieldInt4::Get(), CBDB_FieldInt2::Get(), CBDB_FieldUint2::Get(), CBDB_FieldUChar::Get(), CBDB_FieldChar::Get(), CBDB_FieldUint4::Get(), CBDB_FieldFloat::Get(), CBDB_FieldDouble::Get(), CBDB_FieldFixedByteString::Get(), CBDB_FieldString::Get(), CBDB_FieldLString::Get(), CBDB_FieldSimpleInt< Uint2 >::GetInt(), CBDB_FieldSimpleInt< Uint2 >::GetUint(), CBDB_FieldString::IsBlank(), CBDB_FieldLString::IsBlank(), CBDB_FieldString::IsEmpty(), CBDB_FieldLString::IsEmpty(), CBDB_FieldStringCase::operator const char *(), CBDB_FieldFixedByteString::operator=(), CBDB_FieldLString::operator=(), CBDB_FieldString::operator=(), CBDB_FieldFixedByteString::Set(), CBDB_FieldString::Set(), CBDB_FieldLString::Set(), CBDB_FieldSimpleFloat< float >::Set(), CBDB_FieldSimpleInt< Uint2 >::Set(), CBDB_FieldSimple< Uint2 >::SetField(), CBDB_FieldFixedByteString::ToString(), CBDB_FieldString::ToString(), CBDB_FieldLString::ToString(), and CBDB_Field::Unpack().
|
inline |
Return maximum possible buffer length.
Definition at line 2134 of file bdb_types.hpp.
References CBDB_Field::m_BufferSize.
Referenced by CBDB_FieldFixedByteString::Compare(), CBDB_BufferManager::ComputeBufferSize(), CBDB_FieldFixedByteString::Construct(), CBDB_FieldString::Construct(), CBDB_FieldStringCase::Construct(), CBDB_FieldLString::Construct(), CBDB_Field::CopyFrom(), CBDB_FieldFixedByteString::Get(), CBDB_FieldFixedByteString::GetDataLength(), CBDB_FieldFixedByteString::operator=(), CBDB_FieldLString::operator=(), CBDB_FieldString::operator=(), CBDB_FieldFixedByteString::Set(), CBDB_FieldString::Set(), CBDB_FieldLString::Set(), CBDB_FieldFixedByteString::SetMaxVal(), CBDB_FieldString::SetMaxVal(), CBDB_FieldLString::SetMaxVal(), CBDB_FieldFixedByteString::SetMinVal(), CBDB_FieldFixedByteString::SetStdString(), CBDB_FieldLString::SetStdString(), and CBDB_FieldFixedByteString::ToString().
|
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.
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
inlinevirtual |
Return current effective size of the buffer.
Implements IBDB_Field.
Definition at line 476 of file bdb_types.hpp.
|
inlinevirtual |
Return current effective size of the buffer.
Implements IBDB_Field.
Definition at line 2342 of file bdb_types.hpp.
References CBDB_Field::GetBufferSize().
|
inlinevirtual |
Return current effective size of the buffer.
Implements IBDB_Field.
Definition at line 2492 of file bdb_types.hpp.
|
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().
|
pure virtual |
Return current effective size of the buffer.
Implemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldSimple< T >, CBDB_FieldSimple< double >, CBDB_FieldSimple< float >, CBDB_FieldSimple< Uint8 >, CBDB_FieldSimple< unsigned char >, CBDB_FieldSimple< Int4 >, CBDB_FieldSimple< Int2 >, CBDB_FieldSimple< char >, CBDB_FieldSimple< Uint4 >, CBDB_FieldSimple< Int8 >, and CBDB_FieldSimple< Uint2 >.
Referenced by BDB_Compare(), BDB_find_field(), CBDB_Field::CopyFrom(), and CBDB_Field::GetLength().
|
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().
|
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().
|
protectedvirtual |
Hook for defining extra data length.
Reimplemented from CBDB_Field.
Definition at line 881 of file bdb_types.cpp.
|
inline |
Definition at line 2523 of file bdb_types.hpp.
References CBDB_BufferManager::m_Fields, and n.
|
inline |
Definition at line 2517 of file bdb_types.hpp.
References CBDB_BufferManager::m_Fields, and n.
Referenced by CBDB_BufferManager::ArrangePtrsUnpacked(), BDB_Compare(), BDB_find_field(), BDB_get_rowid(), CBDB_BufferManager::Compare(), CBDB_BufferManager::CopyFieldsFrom(), CBDB_MergeBlobWalkerAsync< BF >::DoFetch(), CBDB_BufferManager::DuplicateStructureFrom(), CBDB_MergeBlobWalker< BF >::Fetch(), CBDB_MergeBlobWalkerAsync< BF >::Fetch(), CBDB_BufferManager::SetMaxVal(), CBDB_BufferManager::SetMinVal(), CBDB_FileDumper::x_DumpFields(), and CBDB_FileDumper::x_SetQuoteFlags().
|
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().
Find the field with the specified name.
Name is case insensitive.
Definition at line 523 of file bdb_types.cpp.
References NStr::CompareNocase(), CBDB_Field::GetName(), i, and CBDB_BufferManager::m_Fields.
|
protected |
|
inlinevirtual |
Reimplemented in 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 259 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 533 of file bdb_types.hpp.
|
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.
|
protected |
Definition at line 865 of file bdb_types.cpp.
References _ASSERT, CBDB_BufferManager::GetDBT_Size(), int, CBDB_Field::m_BufferManager, s_GetLString(), and str().
Referenced by CBDB_FieldLString::Compare(), CBDB_FieldLString::Get(), CBDB_FieldLString::GetDataLength(), CBDB_FieldLString::IsBlank(), CBDB_FieldLString::IsEmpty(), and CBDB_FieldLString::ToString().
Return symbolic name for the field.
Definition at line 2289 of file bdb_types.hpp.
References CBDB_Field::m_Name.
Referenced by CBDB_BufferManager::CheckNullConstraint(), CBDB_BufferManager::DuplicateStructureFrom(), CBDB_BufferManager::GetFieldIndex(), CBDB_FileDumper::PrintHeader(), PrintRecord(), and CBDB_FieldString::Set().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 697 of file bdb_types.hpp.
References CBDB_FieldInt8::Get(), and NStr::Int8ToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 781 of file bdb_types.hpp.
References CBDB_FieldUint8::Get(), and NStr::UInt8ToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 865 of file bdb_types.hpp.
References CBDB_FieldInt4::Get(), and NStr::IntToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 949 of file bdb_types.hpp.
References CBDB_FieldInt2::Get(), and NStr::IntToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1033 of file bdb_types.hpp.
References CBDB_FieldUint2::Get(), and NStr::IntToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Reimplemented in CBDB_FieldUint1.
Definition at line 1109 of file bdb_types.hpp.
References CBDB_FieldUChar::Get(), and string.
|
inlinevirtual |
Implements IBDB_FieldConvert.
Reimplemented in CBDB_FieldInt1.
Definition at line 1167 of file bdb_types.hpp.
References CBDB_FieldChar::Get(), and string.
|
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().
|
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().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1305 of file bdb_types.hpp.
References CBDB_FieldUint4::Get(), and NStr::UIntToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1390 of file bdb_types.hpp.
References NStr::DoubleToString(), and CBDB_FieldFloat::Get().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1474 of file bdb_types.hpp.
References NStr::DoubleToString(), and CBDB_FieldDouble::Get().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1536 of file bdb_types.hpp.
References CBDB_FieldFixedByteString::Get().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1611 of file bdb_types.hpp.
References CBDB_FieldString::Get().
Referenced by CBDB_Cache::Open().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1727 of file bdb_types.hpp.
References CBDB_FieldLString::Get().
Referenced by CBDB_FieldLString::operator string().
|
pure virtual |
Implemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldDouble, CBDB_FieldFloat, CBDB_FieldUint4, CBDB_FieldUint1, CBDB_FieldInt1, CBDB_FieldChar, CBDB_FieldUChar, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, and CBDB_FieldInt8.
Referenced by CBDB_FileDumper::x_DumpFields().
CBDB_FieldFactory::EType CBDB_FieldFactory::GetType | ( | const string & | type | ) | const |
Return type enumerator by string type (case insensitive)
Definition at line 1166 of file bdb_types.cpp.
References NStr::CompareNocase(), CBDB_FieldFactory::eBlob, CBDB_FieldFactory::eDouble, CBDB_FieldFactory::eFloat, CBDB_FieldFactory::eInt2, CBDB_FieldFactory::eInt4, CBDB_FieldFactory::eInt8, CBDB_FieldFactory::eLString, CBDB_FieldFactory::eString, CBDB_FieldFactory::eUChar, CBDB_FieldFactory::eUint1, CBDB_FieldFactory::eUint4, and CBDB_FieldFactory::eUnknown.
Referenced by CBDB_FieldFactory::Create(), CBDB_FileDumperApp::Dump(), and CBDB_ConfigStructureParser::ParseConfigFile().
|
inlinevirtual |
Reimplemented in 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 261 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_MergeBlobWalkerAsync< BF >::DoFetch(), CBDB_MergeBlobWalker< BF >::Fetch(), and CBDB_MergeBlobWalkerAsync< BF >::Fetch().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 546 of file bdb_types.hpp.
|
inline |
Check if any field is NULL.
Definition at line 2607 of file bdb_types.hpp.
References i, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Buffer, and CBDB_BufferManager::m_NullSetSize.
|
inline |
Definition at line 1539 of file bdb_types.hpp.
|
inline |
Definition at line 2480 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBuffer(), isspace(), and str().
bool CBDB_FieldLString::IsBlank | ( | ) | const |
Definition at line 1045 of file bdb_types.cpp.
References CBDB_Field::GetBuffer(), CBDB_FieldLString::GetLString(), i, CBDB_BufferManager::IsLegacyStrings(), isspace(), CBDB_Field::m_BufferManager, and str().
|
inlineprotected |
Return TRUE if external buffer has already been attached.
Definition at line 2140 of file bdb_types.hpp.
References CBDB_Field::m_Flags.
|
inlineprotected |
Return TRUE if field belongs to a file with an alternative byte order.
Definition at line 2301 of file bdb_types.hpp.
References CBDB_BufferManager::IsByteSwapped(), and CBDB_Field::m_BufferManager.
Referenced by CBDB_FieldInt8::Get(), CBDB_FieldUint8::Get(), CBDB_FieldInt4::Get(), CBDB_FieldInt2::Get(), CBDB_FieldUint2::Get(), CBDB_FieldUint4::Get(), CBDB_FieldFloat::Get(), CBDB_FieldDouble::Get(), CBDB_FieldSimpleFloat< float >::Set(), CBDB_FieldSimpleInt< Uint2 >::Set(), and CBDB_FieldSimple< Uint2 >::SetField().
|
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().
|
inline |
Definition at line 1538 of file bdb_types.hpp.
|
inline |
Definition at line 2472 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBuffer(), and str().
bool CBDB_FieldLString::IsEmpty | ( | void | ) | const |
Definition at line 1034 of file bdb_types.cpp.
References CBDB_Field::GetBuffer(), CBDB_FieldLString::GetLString(), CBDB_BufferManager::IsLegacyStrings(), CBDB_Field::m_BufferManager, and str().
|
inline |
Return TRUE if buffer l-strings should check about legacy c-str compatibility.
Definition at line 1793 of file bdb_types.hpp.
References CBDB_BufferManager::m_LegacyString.
Referenced by BDB_LStringCompare(), CBDB_FieldLString::Compare(), CBDB_BufferManager::DuplicateStructureFrom(), CBDB_FieldLString::Get(), CBDB_FieldLString::GetDataLength(), CBDB_FieldLString::IsBlank(), CBDB_FieldLString::IsEmpty(), and CBDB_FieldLString::ToString().
|
inline |
Return TRUE if field is NULL.
Definition at line 2171 of file bdb_types.hpp.
References CBDB_BufferManager::IsNull(), CBDB_Field::m_BufferIdx, and CBDB_Field::m_BufferManager.
Referenced by BDB_find_field(), BuildZipIndex(), CBDB_FieldInt8::Get(), CBDB_FieldUint8::Get(), CBDB_FieldInt4::Get(), CBDB_FieldInt2::Get(), CBDB_FieldUint2::Get(), CBDB_FieldUChar::Get(), CBDB_FieldChar::Get(), CBDB_FieldUint4::Get(), CBDB_FieldFloat::Get(), CBDB_FieldDouble::Get(), CBDB_FieldFixedByteString::Get(), CBDB_FieldLString::Get(), CScannerFunctorArgN::GetArguments(), PrintRecord(), CBDB_FieldSimple< Uint2 >::SetField(), and CBDB_FileDumper::x_DumpFields().
Definition at line 2619 of file bdb_types.hpp.
References _ASSERT, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Fields, and CBDB_BufferManager::TestNullBit().
Referenced by CBDB_Field::IsNull().
|
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().
|
inlineprotected |
Return TRUE if buffer can carry NULL fields.
Definition at line 2541 of file bdb_types.hpp.
References CBDB_BufferManager::m_Nullable.
Referenced by CBDB_BufferManager::CheckNullConstraint(), CBDB_BufferManager::ComputeNullSetSize(), CBDB_BufferManager::Construct(), CBDB_BufferManager::HasNull(), CBDB_BufferManager::IsNull(), CBDB_BufferManager::SetAllNull(), CBDB_Field::SetNull(), CBDB_BufferManager::SetNull(), CBDB_BufferManager::SetNullBit(), and CBDB_BufferManager::TestNullBit().
|
inlineprotected |
Return fields ownership flag.
Definition at line 1901 of file bdb_types.hpp.
References CBDB_BufferManager::m_OwnFields.
|
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().
|
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().
|
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().
|
inline |
Definition at line 1104 of file bdb_types.hpp.
References CBDB_FieldUChar::Get().
|
inline |
Definition at line 1162 of file bdb_types.hpp.
References CBDB_FieldChar::Get().
|
inline |
Definition at line 2310 of file bdb_types.hpp.
|
inline |
Definition at line 2372 of file bdb_types.hpp.
|
inline |
Definition at line 1664 of file bdb_types.hpp.
References CBDB_Field::GetBuffer().
|
inline |
Definition at line 1486 of file bdb_types.hpp.
References CBDB_FieldDouble::Get().
|
inline |
Definition at line 1402 of file bdb_types.hpp.
References CBDB_FieldFloat::Get().
|
inline |
Definition at line 961 of file bdb_types.hpp.
References CBDB_FieldInt2::Get().
|
inline |
Definition at line 877 of file bdb_types.hpp.
References CBDB_FieldInt4::Get().
|
inline |
Definition at line 709 of file bdb_types.hpp.
References CBDB_FieldInt8::Get().
|
inline |
Definition at line 1717 of file bdb_types.hpp.
References CBDB_FieldLString::GetString().
|
inline |
Definition at line 1045 of file bdb_types.hpp.
References CBDB_FieldUint2::Get().
|
inline |
Definition at line 1317 of file bdb_types.hpp.
References CBDB_FieldUint4::Get().
|
inline |
Definition at line 793 of file bdb_types.hpp.
References CBDB_FieldUint8::Get().
|
inline |
Definition at line 1138 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< char >::Set(), and val.
|
private |
|
private |
|
inline |
Definition at line 1144 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< char >::Set(), and val.
|
inline |
Definition at line 1205 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< char >::Set(), and val.
|
inline |
Definition at line 1444 of file bdb_types.hpp.
References CBDB_FieldSimpleFloat< double >::Set(), and val.
CBDB_FieldFixedByteString & CBDB_FieldFixedByteString::operator= | ( | const CBDB_FieldFixedByteString & | str | ) |
Definition at line 820 of file bdb_types.cpp.
References BDB_THROW, buf, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), len, CBDB_Field::SetNotNull(), CBDB_Field::SetNull(), str(), and CBDB_Field::Unpack().
|
inline |
Definition at line 1360 of file bdb_types.hpp.
References CBDB_FieldSimpleFloat< float >::Set(), and val.
|
inline |
Definition at line 919 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int2 >::Set(), and val.
|
inline |
Definition at line 835 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int4 >::Set(), and val.
|
inline |
Definition at line 667 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int8 >::Set(), and val.
CBDB_FieldLString & CBDB_FieldLString::operator= | ( | const CBDB_FieldLString & | str | ) |
Definition at line 907 of file bdb_types.cpp.
References BDB_THROW, buf, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), len, CBDB_Field::SetNotNull(), CBDB_Field::SetNull(), str(), and CBDB_Field::Unpack().
Referenced by CBDB_FieldLString::SetString().
|
inline |
Definition at line 2382 of file bdb_types.hpp.
References BDB_THROW, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), len, CBDB_Field::SetNotNull(), CBDB_Field::SetNull(), str(), and CBDB_Field::Unpack().
Referenced by CBDB_FieldString::operator=(), and CBDB_FieldString::SetString().
|
inline |
Definition at line 1666 of file bdb_types.hpp.
References CBDB_FieldString::Set(), and str().
|
inline |
Definition at line 1671 of file bdb_types.hpp.
References CBDB_FieldString::Set(), and str().
|
inline |
Definition at line 1086 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.
|
inline |
Definition at line 1240 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.
|
inline |
Definition at line 1003 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint2 >::Set(), and val.
|
inline |
Definition at line 1275 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint4 >::Set(), and val.
|
inline |
Definition at line 751 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint8 >::Set(), and val.
|
inline |
Definition at line 2499 of file bdb_types.hpp.
References CBDB_FieldStringBase::eThrowOnOverflow, CBDB_FieldString::Set(), and str().
|
inline |
Definition at line 1676 of file bdb_types.hpp.
References CBDB_FieldString::Set(), and str().
CBDB_FieldLString & CBDB_FieldLString::operator= | ( | const char * | str | ) |
Definition at line 1077 of file bdb_types.cpp.
References CBDB_FieldStringBase::eThrowOnOverflow, CBDB_FieldLString::Set(), and str().
|
inline |
Definition at line 2505 of file bdb_types.hpp.
References CBDB_FieldString::operator=().
|
inline |
Definition at line 1681 of file bdb_types.hpp.
References CBDB_FieldString::Set(), and str().
CBDB_FieldLString & CBDB_FieldLString::operator= | ( | const string & | str | ) |
Definition at line 1083 of file bdb_types.cpp.
References CBDB_FieldLString::SetStdString(), and str().
|
inline |
Definition at line 1438 of file bdb_types.hpp.
References CBDB_FieldSimpleFloat< double >::Set(), and val.
|
inline |
Definition at line 1354 of file bdb_types.hpp.
References CBDB_FieldSimpleFloat< float >::Set(), and val.
|
inline |
Definition at line 1199 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< char >::Set(), and val.
|
inline |
Definition at line 913 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int2 >::Set(), and val.
|
inline |
Definition at line 829 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int4 >::Set(), and val.
|
inline |
Definition at line 661 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Int8 >::Set(), and val.
|
inline |
Definition at line 997 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint2 >::Set(), and val.
|
inline |
Definition at line 1269 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint4 >::Set(), and val.
|
inline |
Definition at line 745 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< Uint8 >::Set(), and val.
|
inline |
Definition at line 1080 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.
|
inline |
Definition at line 1234 of file bdb_types.hpp.
References CBDB_FieldSimpleInt< unsigned char >::Set(), and val.
|
protected |
Definition at line 659 of file bdb_types.cpp.
References _ASSERT, df(), i, CBDB_BufferManager::IsPackable(), CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_BufferSize, CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_FirstVarFieldIdx, CBDB_BufferManager::m_FirstVarFieldIdxOffs, CBDB_BufferManager::m_NullSetSize, CBDB_BufferManager::m_PackedSize, CBDB_BufferManager::m_PackOptComputed, CBDB_BufferManager::m_Ptrs, memmove, CBDB_BufferManager::TestNullBit(), and CBDB_BufferManager::x_ComputePackOpt().
Referenced by CBDB_BufferManager::PrepareDBT_ForWrite().
|
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.
|
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().
|
inline |
Definition at line 2319 of file bdb_types.hpp.
References CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), and str().
Referenced by CBDB_FieldFixedByteString::SetString().
|
inline |
Definition at line 2406 of file bdb_types.hpp.
References BDB_THROW, ERR_POST, CBDB_FieldStringBase::eThrowOnOverflow, CBDB_FieldStringBase::eTruncateOnOverflow, CBDB_FieldStringBase::eTruncateOnOverflowLogError, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), CBDB_Field::GetName(), kEmptyCStr, msg(), NCBI_FALLTHROUGH, CBDB_Field::SetNotNull(), NStr::SizetToString(), str(), CBDB_Field::Unpack(), and Warning().
Referenced by CBDB_FieldStringCase::operator=(), and CBDB_FieldString::operator=().
void CBDB_FieldLString::Set | ( | const char * | str, |
EOverflowAction | if_overflow = eThrowOnOverflow |
||
) |
Definition at line 968 of file bdb_types.cpp.
References kEmptyCStr, and str().
Referenced by CBDB_FieldLString::operator=(), CBDB_FieldLString::SetMinVal(), and CBDB_FieldLString::SetStdString().
void CBDB_FieldLString::Set | ( | const char * | str, |
size_t | size, | ||
EOverflowAction | if_overflow = eThrowOnOverflow |
||
) |
Definition at line 930 of file bdb_types.cpp.
References BDB_THROW, CBDB_FieldStringBase::eTruncateOnOverflow, CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), int, kEmptyCStr, NStr::NumericToString(), CBDB_Field::SetNotNull(), ncbi::grid::netcache::search::fields::size, str(), and CBDB_Field::Unpack().
|
inline |
Definition at line 493 of file bdb_types.hpp.
Referenced by CBDB_FieldSimpleInt< Uint2 >::SetInt(), CBDB_FieldSimpleInt< Uint2 >::SetMaxVal(), CBDB_FieldSimpleInt< Uint2 >::SetMinVal(), CBDB_FieldSimpleInt< Uint2 >::SetString(), and CBDB_FieldSimpleInt< Uint2 >::SetUint().
|
inline |
Definition at line 602 of file bdb_types.hpp.
Referenced by CBDB_FieldSimpleFloat< float >::SetDouble(), CBDB_FieldSimpleFloat< float >::SetFloat(), CBDB_FieldSimpleFloat< float >::SetInt(), CBDB_FieldSimpleFloat< float >::SetMaxVal(), CBDB_FieldSimpleFloat< float >::SetMinVal(), CBDB_FieldSimpleFloat< float >::SetString(), and CBDB_FieldSimpleFloat< float >::SetUint().
|
inlineprotected |
Definition at line 2596 of file bdb_types.hpp.
References buf, i, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Buffer, and CBDB_BufferManager::m_NullSetSize.
|
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.
|
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().
|
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.
|
inlineprotected |
Set the buffer size.
Definition at line 2194 of file bdb_types.hpp.
References _ASSERT, and CBDB_Field::m_BufferSize.
Referenced by CBDB_FieldFixedByteString::CBDB_FieldFixedByteString(), CBDB_FieldLString::CBDB_FieldLString(), CBDB_FieldSimple< Uint2 >::CBDB_FieldSimple(), CBDB_FieldString::CBDB_FieldString(), CBDB_FieldFixedByteString::Construct(), CBDB_FieldString::Construct(), CBDB_FieldStringCase::Construct(), and CBDB_FieldLString::Construct().
|
inlineprotected |
Set byte swapping flag for the buffer.
Definition at line 1872 of file bdb_types.hpp.
References CBDB_BufferManager::m_ByteSwapped.
|
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().
|
inlineprotected |
Definition at line 1895 of file bdb_types.hpp.
References CBDB_BufferManager::m_DBT_Size, and ncbi::grid::netcache::search::fields::size.
Referenced by CBDB_BufferManager::CopyPackedFrom().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 641 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented in CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, and CBDB_FieldSimpleFloat< float >.
Definition at line 269 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_ConditionHandle::operator<<().
|
inline |
Definition at line 436 of file bdb_types.hpp.
|
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.
|
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.
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 640 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented in CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, and CBDB_FieldSimpleFloat< float >.
Definition at line 267 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_ConditionHandle::operator<<().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 525 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 628 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented in CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, CBDB_FieldSimpleFloat< float >, 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 255 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by BDB_batch_delete_recs(), BDB_iterate_file(), and CBDB_ConditionHandle::operator<<().
|
inlineprotected |
Set C-str detection.
Definition at line 1893 of file bdb_types.hpp.
References CBDB_BufferManager::m_LegacyString, and rapidjson::value.
|
inlinevirtual |
Set maximum possible value for the field type.
Implements IBDB_Field.
Definition at line 584 of file bdb_types.hpp.
|
inlinevirtual |
Set maximum possible value for the field type.
Implements IBDB_Field.
Definition at line 648 of file bdb_types.hpp.
|
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().
|
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().
|
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().
|
pure virtual |
Set maximum possible value for the field type.
Implemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, CBDB_FieldSimpleFloat< float >, 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 >.
Referenced by CBDB_BufferManager::SetMaxVal().
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().
|
inlinevirtual |
Set minimal possible value for the field type.
Implements IBDB_Field.
Definition at line 579 of file bdb_types.hpp.
|
inlinevirtual |
Set minimal possible value for the field type.
Implements IBDB_Field.
Definition at line 643 of file bdb_types.hpp.
|
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().
|
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().
|
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().
|
pure virtual |
Set minimal possible value for the field type.
Implemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, CBDB_FieldSimpleFloat< float >, 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 >.
Referenced by CBDB_BufferManager::SetMinVal().
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().
|
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().
|
inlineprotected |
Set "is NULL" flag to FALSE.
Definition at line 2158 of file bdb_types.hpp.
References CBDB_Field::m_BufferIdx, CBDB_Field::m_BufferManager, and CBDB_BufferManager::SetNull().
Referenced by CBDB_Field::CopyFrom(), CBDB_FieldFixedByteString::operator=(), CBDB_FieldLString::operator=(), CBDB_FieldString::operator=(), CBDB_FieldString::Set(), CBDB_FieldLString::Set(), CBDB_FieldSimpleFloat< float >::Set(), CBDB_FieldSimpleInt< Uint2 >::Set(), CBDB_FieldSimple< Uint2 >::SetField(), CBDB_FieldString::SetMaxVal(), CBDB_FieldLString::SetMaxVal(), and CBDB_FieldLString::SetStdString().
|
inline |
Assign field value to NULL.
Definition at line 2164 of file bdb_types.hpp.
References _ASSERT, CBDB_BufferManager::IsNullable(), CBDB_Field::m_BufferIdx, CBDB_Field::m_BufferManager, and CBDB_BufferManager::SetNull().
Referenced by CBDB_FieldFixedByteString::operator=(), CBDB_FieldLString::operator=(), CBDB_FieldString::operator=(), and CBDB_FieldSimple< Uint2 >::SetField().
Definition at line 2587 of file bdb_types.hpp.
References _ASSERT, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Fields, CBDB_BufferManager::SetNullBit(), and rapidjson::value.
Referenced by CBDB_Field::SetNotNull(), and CBDB_Field::SetNull().
|
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().
|
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.
Definition at line 2575 of file bdb_types.hpp.
References _ASSERT, buf, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Buffer, mask, n, and rapidjson::value.
Referenced by CBDB_BufferManager::SetNull().
|
inlineprotected |
Disable-enable packing.
Definition at line 1904 of file bdb_types.hpp.
References CBDB_BufferManager::m_Packable.
Reimplemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, CBDB_FieldSimpleFloat< float >, 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 265 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_ConditionHandle::operator<<().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 559 of file bdb_types.hpp.
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 635 of file bdb_types.hpp.
Reimplemented from IBDB_FieldConvert.
Definition at line 1550 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBufferSize(), CBDB_FieldFixedByteString::SetString(), and str().
Reimplemented from IBDB_FieldConvert.
Definition at line 1629 of file bdb_types.hpp.
References CBDB_FieldString::SetString(), and str().
Reimplemented from IBDB_FieldConvert.
Definition at line 1125 of file bdb_types.cpp.
References BDB_THROW, CBDB_FieldStringBase::eThrowOnOverflow, CBDB_Field::GetBufferSize(), int, NStr::NumericToString(), CBDB_FieldLString::Set(), CBDB_Field::SetNotNull(), str(), and CBDB_Field::Unpack().
Referenced by CBDB_FieldLString::operator=().
|
inlinevirtual |
Reimplemented in CBDB_FieldFixedByteString, CBDB_FieldSimpleFloat< T >, CBDB_FieldSimpleFloat< double >, CBDB_FieldSimpleFloat< float >, 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 >, CBDB_FieldSimpleInt< Uint2 >, CBDB_FieldLString, and CBDB_FieldString.
Definition at line 263 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_ConditionHandle::operator<<().
|
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().
|
virtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 976 of file bdb_types.cpp.
References CBDB_FieldLString::operator=(), and str().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 527 of file bdb_types.hpp.
Referenced by CBDB_FieldSimpleInt< Uint2 >::SetStdString().
|
inlinevirtual |
Reimplemented from IBDB_FieldConvert.
Definition at line 630 of file bdb_types.hpp.
Referenced by CBDB_FieldSimpleFloat< float >::SetStdString().
|
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().
|
inlinevirtual |
Definition at line 526 of file bdb_types.hpp.
|
inlinevirtual |
Definition at line 629 of file bdb_types.hpp.
|
inlinevirtual |
Definition at line 257 of file bdb_types.hpp.
References BDB_THROW, and eType.
Referenced by CBDB_ConditionHandle::operator<<().
Definition at line 2563 of file bdb_types.hpp.
References _ASSERT, buf, CBDB_BufferManager::IsNullable(), CBDB_BufferManager::m_Buffer, mask, and n.
Referenced by CBDB_BufferManager::CheckNullConstraint(), CBDB_BufferManager::IsNull(), and CBDB_BufferManager::Pack().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Reimplemented in CBDB_FieldUint1.
Definition at line 1114 of file bdb_types.hpp.
References CBDB_FieldUChar::Get().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Reimplemented in CBDB_FieldInt1.
Definition at line 1172 of file bdb_types.hpp.
References CBDB_FieldChar::Get().
|
inlinevirtual |
Reimplemented from CBDB_FieldChar.
Definition at line 1221 of file bdb_types.hpp.
References CBDB_FieldInt1::GetString().
|
inlinevirtual |
Reimplemented from CBDB_FieldUChar.
Definition at line 1256 of file bdb_types.hpp.
References CBDB_FieldUint1::GetString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 703 of file bdb_types.hpp.
References CBDB_FieldInt8::Get(), NStr::Int8ToString(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 787 of file bdb_types.hpp.
References CBDB_FieldUint8::Get(), str(), and NStr::UInt8ToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 871 of file bdb_types.hpp.
References CBDB_FieldInt4::Get(), NStr::IntToString(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 955 of file bdb_types.hpp.
References CBDB_FieldInt2::Get(), NStr::IntToString(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1039 of file bdb_types.hpp.
References CBDB_FieldUint2::Get(), NStr::IntToString(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1311 of file bdb_types.hpp.
References CBDB_FieldUint4::Get(), str(), and NStr::UIntToString().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1396 of file bdb_types.hpp.
References NStr::DoubleToString(), CBDB_FieldFloat::Get(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1480 of file bdb_types.hpp.
References NStr::DoubleToString(), CBDB_FieldDouble::Get(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1555 of file bdb_types.hpp.
References CBDB_Field::GetBuffer(), CBDB_Field::GetBufferSize(), and str().
|
inlinevirtual |
Implements IBDB_FieldConvert.
Definition at line 1633 of file bdb_types.hpp.
References CBDB_Field::GetBuffer(), and str().
Referenced by CBDB_Cache::DropBlob(), CBDB_Cache::GetBlobAccess(), CBDB_Cache::GetBlobOwner(), CBDB_Cache::GetReadStream(), CBDB_Cache::Purge(), CBDB_Cache::Read(), and CBDB_Cache::Remove().
|
virtual |
Implements IBDB_FieldConvert.
Definition at line 1108 of file bdb_types.cpp.
References buf, CBDB_Field::GetBuffer(), CBDB_FieldLString::GetLString(), CBDB_BufferManager::IsLegacyStrings(), CBDB_Field::m_BufferManager, and str().
|
pure virtual |
Implemented in CBDB_FieldLString, CBDB_FieldString, CBDB_FieldFixedByteString, CBDB_FieldDouble, CBDB_FieldFloat, CBDB_FieldUint4, CBDB_FieldUint2, CBDB_FieldInt2, CBDB_FieldInt4, CBDB_FieldUint8, CBDB_FieldInt8, CBDB_FieldUint1, CBDB_FieldInt1, CBDB_FieldChar, and CBDB_FieldUChar.
Referenced by BDB_find_field(), and CScannerFunctorArgN::GetArguments().
|
inlineprotected |
Unpack the buffer which contains this field (using CBDB_BufferManager).
Return new pointer to the field data – located in the unpacked buffer.
Definition at line 2177 of file bdb_types.hpp.
References _ASSERT, CBDB_Field::GetBuffer(), CBDB_Field::m_BufferManager, and CBDB_BufferManager::Unpack().
Referenced by CBDB_Field::CopyFrom(), CBDB_FieldFixedByteString::operator=(), CBDB_FieldLString::operator=(), CBDB_FieldString::operator=(), CBDB_FieldString::Set(), CBDB_FieldLString::Set(), CBDB_FieldFixedByteString::SetMaxVal(), CBDB_FieldString::SetMaxVal(), CBDB_FieldLString::SetMaxVal(), CBDB_FieldFixedByteString::SetMinVal(), CBDB_FieldString::SetMinVal(), and CBDB_FieldLString::SetStdString().
|
protected |
Definition at line 702 of file bdb_types.cpp.
References _ASSERT, df(), i, CBDB_BufferManager::IsPackable(), CBDB_BufferManager::m_BufferSize, CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_FirstVarFieldIdx, CBDB_BufferManager::m_FirstVarFieldIdxOffs, CBDB_BufferManager::m_PackedSize, CBDB_BufferManager::m_PackOptComputed, CBDB_BufferManager::m_Ptrs, memmove, and CBDB_BufferManager::x_ComputePackOpt().
Referenced by CBDB_Field::Unpack().
|
private |
Definition at line 641 of file bdb_types.cpp.
References df(), i, int, CBDB_BufferManager::m_Fields, CBDB_BufferManager::m_FirstVarFieldIdx, CBDB_BufferManager::m_FirstVarFieldIdxOffs, CBDB_BufferManager::m_NullSetSize, CBDB_BufferManager::m_PackOptComputed, and offset.
Referenced by CBDB_BufferManager::Pack(), and CBDB_BufferManager::Unpack().
CBDB_BufferManager::~CBDB_BufferManager | ( | ) |
Definition at line 494 of file bdb_types.cpp.
References i, CBDB_BufferManager::m_Buffer, CBDB_BufferManager::m_Fields, and CBDB_BufferManager::m_OwnFields.
|
inlinevirtual |
Definition at line 305 of file bdb_types.hpp.
|
virtual |
Definition at line 439 of file bdb_types.cpp.
|
inlinevirtual |
Definition at line 253 of file bdb_types.hpp.
unsigned CBDB_Field::Attached |
Definition at line 404 of file bdb_types.hpp.
unsigned { ... } ::Attached |
Definition at line 404 of file bdb_types.hpp.
|
private |
Definition at line 408 of file bdb_types.hpp.
Referenced by CBDB_Field::GetBuffer(), CBDB_Field::GetLength(), and CBDB_Field::SetBuffer().
|
private |
Definition at line 1919 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::Clear(), CBDB_BufferManager::Construct(), CBDB_BufferManager::CopyPackedFrom(), CBDB_BufferManager::HasNull(), CBDB_BufferManager::Pack(), CBDB_BufferManager::PrepareDBT_ForRead(), CBDB_BufferManager::PrepareDBT_ForWrite(), CBDB_BufferManager::SetAllNull(), CBDB_BufferManager::SetNullable(), CBDB_BufferManager::SetNullBit(), CBDB_BufferManager::TestNullBit(), and CBDB_BufferManager::~CBDB_BufferManager().
|
private |
Definition at line 410 of file bdb_types.hpp.
Referenced by CBDB_Field::IsNull(), CBDB_Field::SetBufferIdx(), CBDB_Field::SetNotNull(), and CBDB_Field::SetNull().
|
protected |
Definition at line 401 of file bdb_types.hpp.
Referenced by CBDB_FieldLString::Compare(), CBDB_Field::CompareWith(), CBDB_FieldLString::Get(), CBDB_FieldLString::GetDataLength(), CBDB_FieldLString::GetLString(), CBDB_FieldLString::IsBlank(), CBDB_Field::IsByteSwapped(), CBDB_FieldLString::IsEmpty(), CBDB_Field::IsNull(), CBDB_Field::SetBufferManager(), CBDB_Field::SetNotNull(), CBDB_Field::SetNull(), CBDB_FieldLString::ToString(), and CBDB_Field::Unpack().
|
private |
Definition at line 409 of file bdb_types.hpp.
Referenced by CBDB_Field::GetBufferSize(), CBDB_Field::SetBuffer(), CBDB_Field::SetBufferSize(), and CBDB_Field::SetDataSize().
|
private |
Definition at line 1920 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::Clear(), CBDB_BufferManager::Construct(), CBDB_BufferManager::CopyPackedFrom(), CBDB_BufferManager::Pack(), CBDB_BufferManager::PrepareDBT_ForRead(), CBDB_BufferManager::PrepareDBT_ForWrite(), and CBDB_BufferManager::Unpack().
|
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().
|
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().
|
private |
Definition at line 1922 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::GetDBT_Size(), and CBDB_BufferManager::SetDBT_Size().
|
private |
Definition at line 1916 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::ArrangePtrsUnpacked(), CBDB_BufferManager::Bind(), CBDB_BufferManager::CheckNullConstraint(), CBDB_BufferManager::ComputeBufferSize(), CBDB_BufferManager::Construct(), CBDB_BufferManager::CopyFieldsFrom(), CBDB_BufferManager::FieldCount(), CBDB_BufferManager::GetCompareFunction(), CBDB_BufferManager::GetField(), CBDB_BufferManager::GetFieldIndex(), CBDB_BufferManager::IsNull(), CBDB_BufferManager::Pack(), CBDB_BufferManager::SetNull(), CBDB_BufferManager::Unpack(), CBDB_BufferManager::x_ComputePackOpt(), and CBDB_BufferManager::~CBDB_BufferManager().
|
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().
|
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 |
|
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().
|
private |
Definition at line 411 of file bdb_types.hpp.
Referenced by CBDB_Field::GetName(), and CBDB_Field::SetName().
|
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().
|
private |
size of the 'is NULL' bitset in bytes
Definition at line 1930 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::Construct(), CBDB_BufferManager::HasNull(), CBDB_BufferManager::Pack(), CBDB_BufferManager::SetAllNull(), and CBDB_BufferManager::x_ComputePackOpt().
|
private |
Field ownership flag.
Definition at line 1939 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::IsOwnFields(), CBDB_BufferManager::SetFieldOwnership(), and CBDB_BufferManager::~CBDB_BufferManager().
|
private |
Definition at line 1923 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::Bind(), CBDB_BufferManager::IsPackable(), and CBDB_BufferManager::SetPackable().
|
private |
Definition at line 1921 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsPacked(), CBDB_BufferManager::ArrangePtrsUnpacked(), CBDB_BufferManager::Construct(), CBDB_BufferManager::Pack(), CBDB_BufferManager::PrepareDBT_ForRead(), CBDB_BufferManager::PrepareDBT_ForWrite(), and CBDB_BufferManager::Unpack().
|
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().
|
private |
Array of pointers to the fields' data.
Definition at line 1918 of file bdb_types.hpp.
Referenced by CBDB_BufferManager::ArrangePtrsUnpacked(), CBDB_BufferManager::Bind(), CBDB_BufferManager::Construct(), CBDB_BufferManager::Pack(), and CBDB_BufferManager::Unpack().
unsigned { ... } ::Nullable |
Definition at line 405 of file bdb_types.hpp.
unsigned CBDB_Field::Nullable |
Definition at line 405 of file bdb_types.hpp.
unsigned CBDB_Field::VariableLength |
Definition at line 403 of file bdb_types.hpp.
unsigned { ... } ::VariableLength |
Definition at line 403 of file bdb_types.hpp.
|
friend |
Definition at line 416 of file bdb_types.hpp.
|
friend |
Definition at line 1953 of file bdb_types.hpp.
|
friend |
Definition at line 414 of file bdb_types.hpp.
|
friend |
Definition at line 1956 of file bdb_types.hpp.
|
friend |
Definition at line 1952 of file bdb_types.hpp.
|
friend |
Definition at line 415 of file bdb_types.hpp.
|
friend |
Definition at line 1954 of file bdb_types.hpp.
|
friend |
Definition at line 285 of file bdb_types.hpp.
|
friend |
Definition at line 1955 of file bdb_types.hpp.