fix snapshot problem
This commit is contained in:
parent
96fc18e630
commit
c714138e9e
|
@ -281,21 +281,34 @@ _exit:
|
|||
}
|
||||
|
||||
static int32_t tsdbSnapReadTimeSeriesData(STsdbSnapReader* reader, uint8_t** data) {
|
||||
int32_t code = 0;
|
||||
int32_t lino = 0;
|
||||
int32_t code = 0;
|
||||
int32_t lino = 0;
|
||||
SMetaInfo info;
|
||||
|
||||
tBlockDataReset(reader->blockData);
|
||||
|
||||
TABLEID tbid[1] = {0};
|
||||
for (SRowInfo* row; (row = tsdbIterMergerGetData(reader->dataIterMerger));) {
|
||||
// skip dropped table
|
||||
if (row->uid != tbid->uid) {
|
||||
tbid->suid = row->suid;
|
||||
tbid->uid = row->uid;
|
||||
if (metaGetInfo(reader->tsdb->pVnode->pMeta, tbid->uid, &info, NULL) != 0) {
|
||||
code = tsdbIterMergerSkipTableData(reader->dataIterMerger, tbid);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (reader->blockData->suid == 0 && reader->blockData->uid == 0) {
|
||||
code = tsdbUpdateSkmTb(reader->tsdb, (TABLEID*)row, reader->skmTb);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
|
||||
TABLEID tbid = {
|
||||
TABLEID tbid1 = {
|
||||
.suid = row->suid,
|
||||
.uid = row->suid ? 0 : row->uid,
|
||||
};
|
||||
code = tBlockDataInit(reader->blockData, &tbid, reader->skmTb->pTSchema, NULL, 0);
|
||||
code = tBlockDataInit(reader->blockData, &tbid1, reader->skmTb->pTSchema, NULL, 0);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
}
|
||||
|
||||
|
@ -360,12 +373,24 @@ _exit:
|
|||
}
|
||||
|
||||
static int32_t tsdbSnapReadTombData(STsdbSnapReader* reader, uint8_t** data) {
|
||||
int32_t code = 0;
|
||||
int32_t lino = 0;
|
||||
int32_t code = 0;
|
||||
int32_t lino = 0;
|
||||
SMetaInfo info;
|
||||
|
||||
tTombBlockClear(reader->tombBlock);
|
||||
|
||||
TABLEID tbid[1] = {0};
|
||||
for (STombRecord* record; (record = tsdbIterMergerGetTombRecord(reader->tombIterMerger)) != NULL;) {
|
||||
if (record->uid != tbid->uid) {
|
||||
tbid->suid = record->suid;
|
||||
tbid->uid = record->uid;
|
||||
if (metaGetInfo(reader->tsdb->pVnode->pMeta, tbid->uid, &info, NULL) != 0) {
|
||||
code = tsdbIterMergerSkipTombData(reader->tombIterMerger, tbid);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
code = tTombBlockPut(reader->tombBlock, record);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
|
||||
|
|
Loading…
Reference in New Issue