fix more
This commit is contained in:
parent
27d3f95579
commit
409c170404
|
@ -121,7 +121,8 @@ static FORCE_INLINE int64_t tsdbLogicToFileSize(int64_t lSize, int32_t szPage) {
|
|||
((TSDBROW){.type = TSDBROW_COL_FMT, .pBlockData = (BLOCKDATA), .iRow = (IROW)})
|
||||
|
||||
void tsdbRowGetColVal(TSDBROW *pRow, STSchema *pTSchema, int32_t iCol, SColVal *pColVal);
|
||||
int32_t tsdbRowCmprFn(const void *p1, const void *p2);
|
||||
int32_t tsdbRowCompare(const void *p1, const void *p2);
|
||||
int32_t tsdbRowCompareWithoutVersion(const void *p1, const void *p2);
|
||||
int32_t tsdbRowKeyCmpr(const STsdbRowKey *key1, const STsdbRowKey *key2);
|
||||
void tsdbRowGetKey(TSDBROW *row, STsdbRowKey *key);
|
||||
// STSDBRowIter
|
||||
|
|
|
@ -31,7 +31,7 @@ int32_t tRowInfoCmprFn(const void *p1, const void *p2) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
return tsdbRowCmprFn(&pInfo1->row, &pInfo2->row);
|
||||
return tsdbRowCompare(&pInfo1->row, &pInfo2->row);
|
||||
}
|
||||
|
||||
int32_t tsdbBegin(STsdb *pTsdb) {
|
||||
|
|
|
@ -896,7 +896,7 @@ static int32_t tsdbDataFileDoWriteBlockData(SDataFileWriter *writer, SBlockData
|
|||
tsdbRowGetKey(&tsdbRowFromBlockData(bData, bData->nRow - 1), &record->lastKey);
|
||||
|
||||
for (int32_t i = 1; i < bData->nRow; ++i) {
|
||||
if (tsdbRowCmprFn(&tsdbRowFromBlockData(bData, i - 1), &tsdbRowFromBlockData(bData, i)) != 0) {
|
||||
if (tsdbRowCompareWithoutVersion(&tsdbRowFromBlockData(bData, i - 1), &tsdbRowFromBlockData(bData, i)) != 0) {
|
||||
record->count++;
|
||||
}
|
||||
if (bData->aVersion[i] < record->minVer) {
|
||||
|
@ -966,9 +966,10 @@ static int32_t tsdbDataFileDoWriteTSRow(SDataFileWriter *writer, TSDBROW *row) {
|
|||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
}
|
||||
|
||||
if (TSDBROW_VERSION(row) <= writer->config->compactVersion //
|
||||
&& writer->blockData->nRow > 0 //
|
||||
&& tsdbRowCmprFn(row, &tsdbRowFromBlockData(writer->blockData, writer->blockData->nRow - 1)) == 0 //
|
||||
if (TSDBROW_VERSION(row) <= writer->config->compactVersion //
|
||||
&& writer->blockData->nRow > 0 //
|
||||
&&
|
||||
tsdbRowCompareWithoutVersion(row, &tsdbRowFromBlockData(writer->blockData, writer->blockData->nRow - 1)) == 0 //
|
||||
) {
|
||||
code = tBlockDataUpdateRow(writer->blockData, row, writer->config->skmRow->pTSchema);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
|
|
|
@ -247,8 +247,9 @@ int32_t tsdbFSetWriteRow(SFSetWriter *writer, SRowInfo *row) {
|
|||
|
||||
if (TSDBROW_VERSION(&row->row) <= writer->config->compactVersion //
|
||||
&& writer->blockData[writer->blockDataIdx].nRow > 0 //
|
||||
&& tsdbRowCmprFn(&row->row, &tsdbRowFromBlockData(&writer->blockData[writer->blockDataIdx],
|
||||
writer->blockData[writer->blockDataIdx].nRow - 1)) == 0) {
|
||||
&& tsdbRowCompareWithoutVersion(&row->row,
|
||||
&tsdbRowFromBlockData(&writer->blockData[writer->blockDataIdx],
|
||||
writer->blockData[writer->blockDataIdx].nRow - 1)) == 0) {
|
||||
code = tBlockDataUpdateRow(&writer->blockData[writer->blockDataIdx], &row->row, writer->skmRow->pTSchema);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
} else {
|
||||
|
|
|
@ -898,12 +898,13 @@ int32_t tsdbSttFileWriteRow(SSttFileWriter *writer, SRowInfo *row) {
|
|||
}
|
||||
|
||||
// row to col conversion
|
||||
if (key.version <= writer->config->compactVersion //
|
||||
&& writer->blockData->nRow > 0 //
|
||||
&& (writer->blockData->uid //
|
||||
? writer->blockData->uid //
|
||||
: writer->blockData->aUid[writer->blockData->nRow - 1]) == row->uid //
|
||||
&& tsdbRowCmprFn(&row->row, &tsdbRowFromBlockData(writer->blockData, writer->blockData->nRow - 1)) == 0 //
|
||||
if (key.version <= writer->config->compactVersion //
|
||||
&& writer->blockData->nRow > 0 //
|
||||
&& (writer->blockData->uid //
|
||||
? writer->blockData->uid //
|
||||
: writer->blockData->aUid[writer->blockData->nRow - 1]) == row->uid //
|
||||
&& tsdbRowCompareWithoutVersion(&row->row,
|
||||
&tsdbRowFromBlockData(writer->blockData, writer->blockData->nRow - 1)) == 0 //
|
||||
) {
|
||||
code = tBlockDataUpdateRow(writer->blockData, &row->row, writer->config->skmRow->pTSchema);
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
|
|
|
@ -638,7 +638,7 @@ int32_t tsdbRowKeyCmpr(const STsdbRowKey *key1, const STsdbRowKey *key2) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int32_t tsdbRowCmprFn(const void *p1, const void *p2) {
|
||||
int32_t tsdbRowCompare(const void *p1, const void *p2) {
|
||||
STsdbRowKey key1, key2;
|
||||
|
||||
tsdbRowGetKey((TSDBROW *)p1, &key1);
|
||||
|
@ -646,6 +646,14 @@ int32_t tsdbRowCmprFn(const void *p1, const void *p2) {
|
|||
return tsdbRowKeyCmpr(&key1, &key2);
|
||||
}
|
||||
|
||||
int32_t tsdbRowCompareWithoutVersion(const void *p1, const void *p2) {
|
||||
STsdbRowKey key1, key2;
|
||||
|
||||
tsdbRowGetKey((TSDBROW *)p1, &key1);
|
||||
tsdbRowGetKey((TSDBROW *)p2, &key2);
|
||||
return tRowKeyCompare(&key1.key, &key2.key);
|
||||
}
|
||||
|
||||
// STSDBRowIter ======================================================
|
||||
int32_t tsdbRowIterOpen(STSDBRowIter *pIter, TSDBROW *pRow, STSchema *pTSchema) {
|
||||
int32_t code = 0;
|
||||
|
|
Loading…
Reference in New Issue