more work
This commit is contained in:
parent
967a6155e3
commit
23a0af9d12
|
@ -302,13 +302,6 @@ size_t tsdbCacheGetCapacity(SVnode *pVnode);
|
|||
int32_t tsdbCacheLastArray2Row(SArray *pLastArray, STSRow **ppRow, STSchema *pSchema);
|
||||
|
||||
// structs =======================
|
||||
typedef struct {
|
||||
int minFid;
|
||||
int midFid;
|
||||
int maxFid;
|
||||
TSKEY minKey;
|
||||
} SRtn;
|
||||
|
||||
struct STsdbFS {
|
||||
SDelFile *pDelFile;
|
||||
SArray *aDFileSet; // SArray<SDFileSet>
|
||||
|
@ -336,19 +329,14 @@ struct SMemSkipListNode {
|
|||
SMemSkipListNode *forwards[0];
|
||||
};
|
||||
typedef struct SMemSkipList {
|
||||
uint32_t seed;
|
||||
int64_t size;
|
||||
uint32_t seed;
|
||||
int8_t maxLevel;
|
||||
int8_t level;
|
||||
SMemSkipListNode *pHead;
|
||||
SMemSkipListNode *pTail;
|
||||
} SMemSkipList;
|
||||
|
||||
struct SDelDataInfo {
|
||||
tb_uid_t suid;
|
||||
tb_uid_t uid;
|
||||
};
|
||||
|
||||
struct STbData {
|
||||
tb_uid_t suid;
|
||||
tb_uid_t uid;
|
||||
|
@ -448,6 +436,8 @@ struct SBlockL {
|
|||
int64_t suid;
|
||||
int64_t minUid;
|
||||
int64_t maxUid;
|
||||
TSKEY minKey;
|
||||
TSKEY maxKey;
|
||||
int64_t minVer;
|
||||
int64_t maxVer;
|
||||
int32_t nRow;
|
||||
|
|
|
@ -567,9 +567,13 @@ static int32_t tsdbCommitLastBlock(SCommitter *pCommitter) {
|
|||
// info
|
||||
blockL.suid = pBlockData->suid;
|
||||
blockL.nRow = pBlockData->nRow;
|
||||
blockL.minKey = TSKEY_MAX;
|
||||
blockL.maxKey = TSKEY_MIN;
|
||||
blockL.minVer = VERSION_MAX;
|
||||
blockL.maxVer = VERSION_MIN;
|
||||
for (int32_t iRow = 0; iRow < pBlockData->nRow; iRow++) {
|
||||
blockL.minKey = TMIN(blockL.minKey, pBlockData->aTSKEY[iRow]);
|
||||
blockL.maxKey = TMAX(blockL.maxKey, pBlockData->aTSKEY[iRow]);
|
||||
blockL.minVer = TMIN(blockL.minVer, pBlockData->aVersion[iRow]);
|
||||
blockL.maxVer = TMAX(blockL.maxVer, pBlockData->aVersion[iRow]);
|
||||
}
|
||||
|
|
|
@ -284,6 +284,8 @@ int32_t tPutBlockL(uint8_t *p, void *ph) {
|
|||
n += tPutI64(p ? p + n : p, pBlockL->suid);
|
||||
n += tPutI64(p ? p + n : p, pBlockL->minUid);
|
||||
n += tPutI64(p ? p + n : p, pBlockL->maxUid);
|
||||
n += tPutI64v(p ? p + n : p, pBlockL->minKey);
|
||||
n += tPutI64v(p ? p + n : p, pBlockL->maxKey);
|
||||
n += tPutI64v(p ? p + n : p, pBlockL->minVer);
|
||||
n += tPutI64v(p ? p + n : p, pBlockL->maxVer);
|
||||
n += tPutI32v(p ? p + n : p, pBlockL->nRow);
|
||||
|
@ -301,6 +303,8 @@ int32_t tGetBlockL(uint8_t *p, void *ph) {
|
|||
n += tGetI64(p + n, &pBlockL->suid);
|
||||
n += tGetI64(p + n, &pBlockL->minUid);
|
||||
n += tGetI64(p + n, &pBlockL->maxUid);
|
||||
n += tGetI64v(p + n, &pBlockL->minKey);
|
||||
n += tGetI64v(p + n, &pBlockL->maxKey);
|
||||
n += tGetI64v(p + n, &pBlockL->minVer);
|
||||
n += tGetI64v(p + n, &pBlockL->maxVer);
|
||||
n += tGetI32v(p + n, &pBlockL->nRow);
|
||||
|
@ -1651,25 +1655,25 @@ void tsdbCalcColDataSMA(SColData *pColData, SColumnDataAgg *pColAgg) {
|
|||
break;
|
||||
}
|
||||
case TSDB_DATA_TYPE_FLOAT: {
|
||||
*(double*)(&pColAgg->sum) += colVal.value.f;
|
||||
if (!minAssigned || *(double*)(&pColAgg->min) > colVal.value.f) {
|
||||
*(double*)(&pColAgg->min) = colVal.value.f;
|
||||
*(double *)(&pColAgg->sum) += colVal.value.f;
|
||||
if (!minAssigned || *(double *)(&pColAgg->min) > colVal.value.f) {
|
||||
*(double *)(&pColAgg->min) = colVal.value.f;
|
||||
minAssigned = true;
|
||||
}
|
||||
if (!maxAssigned || *(double*)(&pColAgg->max) < colVal.value.f) {
|
||||
*(double*)(&pColAgg->max) = colVal.value.f;
|
||||
if (!maxAssigned || *(double *)(&pColAgg->max) < colVal.value.f) {
|
||||
*(double *)(&pColAgg->max) = colVal.value.f;
|
||||
maxAssigned = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TSDB_DATA_TYPE_DOUBLE: {
|
||||
*(double*)(&pColAgg->sum) += colVal.value.d;
|
||||
if (!minAssigned || *(double*)(&pColAgg->min) > colVal.value.d) {
|
||||
*(double*)(&pColAgg->min) = colVal.value.d;
|
||||
*(double *)(&pColAgg->sum) += colVal.value.d;
|
||||
if (!minAssigned || *(double *)(&pColAgg->min) > colVal.value.d) {
|
||||
*(double *)(&pColAgg->min) = colVal.value.d;
|
||||
minAssigned = true;
|
||||
}
|
||||
if (!maxAssigned || *(double*)(&pColAgg->max) < colVal.value.d) {
|
||||
*(double*)(&pColAgg->max) = colVal.value.d;
|
||||
if (!maxAssigned || *(double *)(&pColAgg->max) < colVal.value.d) {
|
||||
*(double *)(&pColAgg->max) = colVal.value.d;
|
||||
maxAssigned = true;
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue