aboutsummaryrefslogtreecommitdiff
path: root/src/common/DataStores/DB2FileLoader.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-12-14 00:27:43 +0100
committerShauren <shauren.trinity@gmail.com>2022-12-14 00:27:43 +0100
commitb1805d291c3249d346d54d32871fc43b89fb1aff (patch)
treef673aae0e1264f4ded5e05dae96ac9187a25ddc9 /src/common/DataStores/DB2FileLoader.cpp
parent9d9e11f8ca8780e2336dd142bbeb15068da4ea72 (diff)
Core/DataStores: Fixed loading empty db2 files
Diffstat (limited to 'src/common/DataStores/DB2FileLoader.cpp')
-rw-r--r--src/common/DataStores/DB2FileLoader.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/common/DataStores/DB2FileLoader.cpp b/src/common/DataStores/DB2FileLoader.cpp
index c71e4b5d215..9216389f346 100644
--- a/src/common/DataStores/DB2FileLoader.cpp
+++ b/src/common/DataStores/DB2FileLoader.cpp
@@ -601,10 +601,14 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char** indexTable, uint32 ind
void DB2FileLoaderRegularImpl::AutoProduceRecordCopies(uint32 records, char** indexTable, char* dataTable)
{
+ uint32 recordCopies = GetRecordCopyCount();
+ if (!recordCopies)
+ return;
+
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
uint32 offset = _header->RecordCount * recordsize;
uint32 idFieldOffset = _loadInfo->Meta->HasIndexFieldInData() ? GetFieldOffset(_loadInfo->Meta->GetIndexField()) : 0;
- for (uint32 c = 0; c < GetRecordCopyCount(); ++c)
+ for (uint32 c = 0; c < recordCopies; ++c)
{
DB2RecordCopy copy = GetRecordCopy(c);
if (copy.SourceRowId && copy.SourceRowId < records && copy.NewRowId < records && indexTable[copy.SourceRowId])
@@ -1306,10 +1310,14 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char** indexTable, uint32 inde
void DB2FileLoaderSparseImpl::AutoProduceRecordCopies(uint32 records, char** indexTable, char* dataTable)
{
+ uint32 recordCopies = GetRecordCopyCount();
+ if (!recordCopies)
+ return;
+
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
uint32 offset = _header->RecordCount * recordsize;
uint32 idFieldOffset = _loadInfo->Meta->HasIndexFieldInData() ? _loadInfo->Meta->GetIndexFieldOffset() : 0;
- for (uint32 c = 0; c < GetRecordCopyCount(); ++c)
+ for (uint32 c = 0; c < recordCopies; ++c)
{
DB2RecordCopy copy = GetRecordCopy(c);
if (copy.SourceRowId && copy.SourceRowId < records && copy.NewRowId < records && indexTable[copy.SourceRowId])