TrinityCore
DB2FileLoaderSparseImpl Class Referencefinal
+ Inheritance diagram for DB2FileLoaderSparseImpl:

Public Member Functions

 DB2FileLoaderSparseImpl (char const *fileName, DB2FileLoadInfo const *loadInfo, DB2Header const *header, DB2FileSource *source)
 
 DB2FileLoaderSparseImpl (DB2FileLoaderSparseImpl const &other)=delete
 
 DB2FileLoaderSparseImpl (DB2FileLoaderSparseImpl &&other) noexcept=delete
 
DB2FileLoaderSparseImploperator= (DB2FileLoaderSparseImpl const &other)=delete
 
DB2FileLoaderSparseImploperator= (DB2FileLoaderSparseImpl &&other) noexcept=delete
 
 ~DB2FileLoaderSparseImpl ()
 
void LoadColumnData (std::unique_ptr< DB2SectionHeader[]> sections, std::unique_ptr< DB2FieldEntry[]> fields, std::unique_ptr< DB2ColumnMeta[]> columnMeta, std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]> palletValues, std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr< std::unordered_map< uint32, uint32 >[]> commonValues) override
 
void SkipEncryptedSection (uint32 section) override
 
bool LoadTableData (DB2FileSource *, uint32) override
 
bool LoadCatalogData (DB2FileSource *source, uint32 section) override
 
void SetAdditionalData (std::vector< uint32 > idTable, std::vector< DB2RecordCopy > copyTable, std::vector< std::vector< DB2IndexData > > parentIndexes) override
 
char * AutoProduceData (uint32 &indexTableSize, char **&indexTable) override
 
char * AutoProduceStrings (char **indexTable, uint32 indexTableSize, uint32 locale) override
 
void AutoProduceRecordCopies (uint32 records, char **indexTable, char *dataTable) override
 
DB2Record GetRecord (uint32 recordNumber) const override
 
DB2RecordCopy GetRecordCopy (uint32 copyNumber) const override
 
uint32 GetRecordCount () const override
 
uint32 GetRecordCopyCount () const override
 
uint32 GetMinId () const override
 
uint32 GetMaxId () const override
 
DB2FileLoadInfo const * GetLoadInfo () const override
 
DB2SectionHeaderGetSection (uint32 section) const override
 
bool IsSignedField (uint32 field) const override
 
char const * GetExpectedSignMismatchReason (uint32 field) const override
 
- Public Member Functions inherited from DB2FileLoaderImpl
 DB2FileLoaderImpl ()=default
 
 DB2FileLoaderImpl (DB2FileLoaderImpl const &other)=delete
 
 DB2FileLoaderImpl (DB2FileLoaderImpl &&other) noexcept=delete
 
DB2FileLoaderImploperator= (DB2FileLoaderImpl const &other)=delete
 
DB2FileLoaderImploperator= (DB2FileLoaderImpl &&other) noexcept=delete
 
virtual ~DB2FileLoaderImpl ()=default
 
virtual void LoadColumnData (std::unique_ptr< DB2SectionHeader[]> sections, std::unique_ptr< DB2FieldEntry[]> fields, std::unique_ptr< DB2ColumnMeta[]> columnMeta, std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]> palletValues, std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr< std::unordered_map< uint32, uint32 >[]> commonValues)=0
 
virtual void SkipEncryptedSection (uint32 section)=0
 
virtual bool LoadTableData (DB2FileSource *source, uint32 section)=0
 
virtual bool LoadCatalogData (DB2FileSource *source, uint32 section)=0
 
virtual void SetAdditionalData (std::vector< uint32 > idTable, std::vector< DB2RecordCopy > copyTable, std::vector< std::vector< DB2IndexData > > parentIndexes)=0
 
virtual char * AutoProduceData (uint32 &indexTableSize, char **&indexTable)=0
 
virtual char * AutoProduceStrings (char **indexTable, uint32 indexTableSize, uint32 locale)=0
 
virtual void AutoProduceRecordCopies (uint32 records, char **indexTable, char *dataTable)=0
 
virtual DB2Record GetRecord (uint32 recordNumber) const =0
 
virtual DB2RecordCopy GetRecordCopy (uint32 copyNumber) const =0
 
virtual uint32 GetRecordCount () const =0
 
virtual uint32 GetRecordCopyCount () const =0
 
virtual uint32 GetMinId () const =0
 
virtual uint32 GetMaxId () const =0
 
virtual DB2FileLoadInfo const * GetLoadInfo () const =0
 
virtual DB2SectionHeaderGetSection (uint32 section) const =0
 
virtual bool IsSignedField (uint32 field) const =0
 
virtual char const * GetExpectedSignMismatchReason (uint32 field) const =0
 

Private Member Functions

void FillParentLookup (char *dataTable)
 
uint32 GetRecordSection (uint32 recordNumber) const
 
unsigned char const * GetRawRecordData (uint32 recordNumber, uint32 const *section) const override
 
uint32 RecordGetId (uint8 const *record, uint32 recordIndex) const override
 
uint8 RecordGetUInt8 (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
uint16 RecordGetUInt16 (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
uint32 RecordGetUInt32 (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
int32 RecordGetInt32 (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
uint64 RecordGetUInt64 (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
float RecordGetFloat (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
char const * RecordGetString (uint8 const *record, uint32 field, uint32 arrayIndex) const override
 
uint32 RecordGetVarInt (uint8 const *record, uint32 field, uint32 arrayIndex, bool isSigned) const
 
uint16 GetFieldOffset (uint32 field, uint32 arrayIndex) const
 
uint16 GetFieldSize (uint32 field) const
 
std::size_t * RecordCreateDetachedFieldOffsets (std::size_t *oldOffsets) const override
 
std::size_t * RecordCopyDetachedFieldOffsets (std::size_t *oldOffsets) const override
 
void RecordDestroyFieldOffsets (std::size_t *&fieldOffsets) const override
 
void CalculateAndStoreFieldOffsets (uint8 const *rawRecord) const
 

Private Attributes

char const * _fileName
 
DB2FileLoadInfo const * _loadInfo
 
DB2Header const * _header
 
DB2FileSource *const _source
 
std::size_t _totalRecordSize
 
uint16 _maxRecordSize
 
std::unique_ptr< uint8[]> _recordBuffer
 
std::unique_ptr< DB2SectionHeader[]> _sections
 
std::unique_ptr< DB2FieldEntry[]> _fields
 
std::unique_ptr< std::size_t[]> _fieldAndArrayOffsets
 
std::vector< uint32_catalogIds
 
std::vector< DB2CatalogEntry_catalog
 
std::vector< DB2RecordCopy_copyTable
 
std::vector< std::vector< DB2IndexData > > _parentIndexes
 

Detailed Description

Definition at line 270 of file DB2FileLoader.cpp.

Constructor & Destructor Documentation

◆ DB2FileLoaderSparseImpl() [1/3]

DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl ( char const *  fileName,
DB2FileLoadInfo const *  loadInfo,
DB2Header const *  header,
DB2FileSource source 
)

Definition at line 1047 of file DB2FileLoader.cpp.

◆ DB2FileLoaderSparseImpl() [2/3]

DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl ( DB2FileLoaderSparseImpl const &  other)
delete

◆ DB2FileLoaderSparseImpl() [3/3]

DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl ( DB2FileLoaderSparseImpl &&  other)
deletenoexcept

◆ ~DB2FileLoaderSparseImpl()

DB2FileLoaderSparseImpl::~DB2FileLoaderSparseImpl ( )
default

Member Function Documentation

◆ AutoProduceData()

char * DB2FileLoaderSparseImpl::AutoProduceData ( uint32 indexTableSize,
char **&  indexTable 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1110 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ AutoProduceRecordCopies()

void DB2FileLoaderSparseImpl::AutoProduceRecordCopies ( uint32  records,
char **  indexTable,
char *  dataTable 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1359 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ AutoProduceStrings()

char * DB2FileLoaderSparseImpl::AutoProduceStrings ( char **  indexTable,
uint32  indexTableSize,
uint32  locale 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1235 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ CalculateAndStoreFieldOffsets()

void DB2FileLoaderSparseImpl::CalculateAndStoreFieldOffsets ( uint8 const *  rawRecord) const
private

Definition at line 1606 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FillParentLookup()

void DB2FileLoaderSparseImpl::FillParentLookup ( char *  dataTable)
private

Definition at line 1404 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ GetExpectedSignMismatchReason()

char const * DB2FileLoaderSparseImpl::GetExpectedSignMismatchReason ( uint32  field) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1666 of file DB2FileLoader.cpp.

◆ GetFieldOffset()

uint16 DB2FileLoaderSparseImpl::GetFieldOffset ( uint32  field,
uint32  arrayIndex 
) const
private

Definition at line 1564 of file DB2FileLoader.cpp.

+ Here is the caller graph for this function:

◆ GetFieldSize()

uint16 DB2FileLoaderSparseImpl::GetFieldSize ( uint32  field) const
private

Definition at line 1569 of file DB2FileLoader.cpp.

+ Here is the caller graph for this function:

◆ GetLoadInfo()

DB2FileLoadInfo const * DB2FileLoaderSparseImpl::GetLoadInfo ( ) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1650 of file DB2FileLoader.cpp.

◆ GetMaxId()

uint32 DB2FileLoaderSparseImpl::GetMaxId ( ) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1645 of file DB2FileLoader.cpp.

◆ GetMinId()

uint32 DB2FileLoaderSparseImpl::GetMinId ( ) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1640 of file DB2FileLoader.cpp.

◆ GetRawRecordData()

unsigned char const * DB2FileLoaderSparseImpl::GetRawRecordData ( uint32  recordNumber,
uint32 const *  section 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1481 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetRecord()

DB2Record DB2FileLoaderSparseImpl::GetRecord ( uint32  recordNumber) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1381 of file DB2FileLoader.cpp.

◆ GetRecordCopy()

DB2RecordCopy DB2FileLoaderSparseImpl::GetRecordCopy ( uint32  copyNumber) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1386 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetRecordCopyCount()

uint32 DB2FileLoaderSparseImpl::GetRecordCopyCount ( ) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1399 of file DB2FileLoader.cpp.

+ Here is the caller graph for this function:

◆ GetRecordCount()

uint32 DB2FileLoaderSparseImpl::GetRecordCount ( ) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1394 of file DB2FileLoader.cpp.

◆ GetRecordSection()

uint32 DB2FileLoaderSparseImpl::GetRecordSection ( uint32  recordNumber) const
private

Definition at line 1466 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSection()

DB2SectionHeader & DB2FileLoaderSparseImpl::GetSection ( uint32  section) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1655 of file DB2FileLoader.cpp.

+ Here is the caller graph for this function:

◆ IsSignedField()

bool DB2FileLoaderSparseImpl::IsSignedField ( uint32  field) const
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1660 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ LoadCatalogData()

bool DB2FileLoaderSparseImpl::LoadCatalogData ( DB2FileSource source,
uint32  section 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1074 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ LoadColumnData()

void DB2FileLoaderSparseImpl::LoadColumnData ( std::unique_ptr< DB2SectionHeader[]>  sections,
std::unique_ptr< DB2FieldEntry[]>  fields,
std::unique_ptr< DB2ColumnMeta[]>  columnMeta,
std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]>  palletValues,
std::unique_ptr< std::unique_ptr< DB2PalletValue[]>[]>  palletArrayValues,
std::unique_ptr< std::unordered_map< uint32, uint32 >[]>  commonValues 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1060 of file DB2FileLoader.cpp.

◆ LoadTableData()

bool DB2FileLoaderSparseImpl::LoadTableData ( DB2FileSource ,
uint32   
)
inlineoverridevirtual

Implements DB2FileLoaderImpl.

Definition at line 284 of file DB2FileLoader.cpp.

◆ operator=() [1/2]

DB2FileLoaderSparseImpl & DB2FileLoaderSparseImpl::operator= ( DB2FileLoaderSparseImpl &&  other)
deletenoexcept

◆ operator=() [2/2]

DB2FileLoaderSparseImpl & DB2FileLoaderSparseImpl::operator= ( DB2FileLoaderSparseImpl const &  other)
delete

◆ RecordCopyDetachedFieldOffsets()

std::size_t * DB2FileLoaderSparseImpl::RecordCopyDetachedFieldOffsets ( std::size_t *  oldOffsets) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1586 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ RecordCreateDetachedFieldOffsets()

std::size_t * DB2FileLoaderSparseImpl::RecordCreateDetachedFieldOffsets ( std::size_t *  oldOffsets) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1575 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ RecordDestroyFieldOffsets()

void DB2FileLoaderSparseImpl::RecordDestroyFieldOffsets ( std::size_t *&  fieldOffsets) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1597 of file DB2FileLoader.cpp.

◆ RecordGetFloat()

float DB2FileLoaderSparseImpl::RecordGetFloat ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1538 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecordGetId()

uint32 DB2FileLoaderSparseImpl::RecordGetId ( uint8 const *  record,
uint32  recordIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1498 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ RecordGetInt32()

int32 DB2FileLoaderSparseImpl::RecordGetInt32 ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1525 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ RecordGetString()

char const * DB2FileLoaderSparseImpl::RecordGetString ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1546 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecordGetUInt16()

uint16 DB2FileLoaderSparseImpl::RecordGetUInt16 ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1512 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecordGetUInt32()

uint32 DB2FileLoaderSparseImpl::RecordGetUInt32 ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1520 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:

◆ RecordGetUInt64()

uint64 DB2FileLoaderSparseImpl::RecordGetUInt64 ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1530 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecordGetUInt8()

uint8 DB2FileLoaderSparseImpl::RecordGetUInt8 ( uint8 const *  record,
uint32  field,
uint32  arrayIndex 
) const
overrideprivatevirtual

Implements DB2FileLoaderImpl.

Definition at line 1506 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecordGetVarInt()

uint32 DB2FileLoaderSparseImpl::RecordGetVarInt ( uint8 const *  record,
uint32  field,
uint32  arrayIndex,
bool  isSigned 
) const
private

Definition at line 1552 of file DB2FileLoader.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetAdditionalData()

void DB2FileLoaderSparseImpl::SetAdditionalData ( std::vector< uint32 idTable,
std::vector< DB2RecordCopy copyTable,
std::vector< std::vector< DB2IndexData > >  parentIndexes 
)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1104 of file DB2FileLoader.cpp.

◆ SkipEncryptedSection()

void DB2FileLoaderSparseImpl::SkipEncryptedSection ( uint32  section)
overridevirtual

Implements DB2FileLoaderImpl.

Definition at line 1068 of file DB2FileLoader.cpp.

Member Data Documentation

◆ _catalog

std::vector<DB2CatalogEntry> DB2FileLoaderSparseImpl::_catalog
private

Definition at line 332 of file DB2FileLoader.cpp.

◆ _catalogIds

std::vector<uint32> DB2FileLoaderSparseImpl::_catalogIds
private

Definition at line 331 of file DB2FileLoader.cpp.

◆ _copyTable

std::vector<DB2RecordCopy> DB2FileLoaderSparseImpl::_copyTable
private

Definition at line 333 of file DB2FileLoader.cpp.

◆ _fieldAndArrayOffsets

std::unique_ptr<std::size_t[]> DB2FileLoaderSparseImpl::_fieldAndArrayOffsets
private

Definition at line 330 of file DB2FileLoader.cpp.

◆ _fields

std::unique_ptr<DB2FieldEntry[]> DB2FileLoaderSparseImpl::_fields
private

Definition at line 329 of file DB2FileLoader.cpp.

◆ _fileName

char const* DB2FileLoaderSparseImpl::_fileName
private

Definition at line 321 of file DB2FileLoader.cpp.

◆ _header

DB2Header const* DB2FileLoaderSparseImpl::_header
private

Definition at line 323 of file DB2FileLoader.cpp.

◆ _loadInfo

DB2FileLoadInfo const* DB2FileLoaderSparseImpl::_loadInfo
private

Definition at line 322 of file DB2FileLoader.cpp.

◆ _maxRecordSize

uint16 DB2FileLoaderSparseImpl::_maxRecordSize
private

Definition at line 326 of file DB2FileLoader.cpp.

◆ _parentIndexes

std::vector<std::vector<DB2IndexData> > DB2FileLoaderSparseImpl::_parentIndexes
private

Definition at line 334 of file DB2FileLoader.cpp.

◆ _recordBuffer

std::unique_ptr<uint8[]> DB2FileLoaderSparseImpl::_recordBuffer
private

Definition at line 327 of file DB2FileLoader.cpp.

◆ _sections

std::unique_ptr<DB2SectionHeader[]> DB2FileLoaderSparseImpl::_sections
private

Definition at line 328 of file DB2FileLoader.cpp.

◆ _source

DB2FileSource* const DB2FileLoaderSparseImpl::_source
private

Definition at line 324 of file DB2FileLoader.cpp.

◆ _totalRecordSize

std::size_t DB2FileLoaderSparseImpl::_totalRecordSize
private

Definition at line 325 of file DB2FileLoader.cpp.


The documentation for this class was generated from the following file: