more code

This commit is contained in:
Hongze Cheng 2023-03-29 13:27:36 +08:00
parent 8233a5bc31
commit d2185b7e68
3 changed files with 29 additions and 26 deletions

View File

@ -112,6 +112,8 @@ static FORCE_INLINE int32_t taosGetTbHashVal(const char *tbname, int32_t tblen,
goto LABEL; \ goto LABEL; \
} }
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -15,44 +15,42 @@
#include "dev.h" #include "dev.h"
int32_t tDelBlockCreate(SDelBlock *pDelBlock) { int32_t tDelBlockCreate(SDelBlock *pDelBlock, int32_t capacity) {
memset(pDelBlock, 0, sizeof(SDelBlock)); int32_t code;
for (int32_t i = 0; i < 5; ++i) {
tColDataInit(&pDelBlock->aColData[i], i + 1, TSDB_DATA_TYPE_BIGINT, 0); memset(pDelBlock, 0, sizeof(*pDelBlock));
pDelBlock->capacity = capacity;
for (int32_t i = 0; i < ARRAY_SIZE(pDelBlock->aData); ++i) {
if ((code = tRealloc((uint8_t **)&pDelBlock->aData[i], sizeof(int64_t) * capacity))) {
for (i--; i >= 0; --i) tFree(pDelBlock->aData[i]);
return code;
}
} }
return 0; return 0;
} }
int32_t tDelBlockDestroy(SDelBlock *pDelBlock) { int32_t tDelBlockDestroy(SDelBlock *pDelBlock) {
for (int32_t i = 0; i < 5; ++i) { for (int32_t i = 0; i < ARRAY_SIZE(pDelBlock->aData); ++i) {
tColDataDestroy(&pDelBlock->aColData[i]); tFree(pDelBlock->aData[i]);
} }
return 0; return 0;
} }
int32_t tDelBlockClear(SDelBlock *pDelBlock) { int32_t tDelBlockClear(SDelBlock *pDelBlock) {
for (int32_t i = 0; i < 5; ++i) { pDelBlock->nRow = 0;
tColDataClear(&pDelBlock->aColData[i]);
}
return 0; return 0;
} }
int32_t tDelBlockAppend(SDelBlock *pDelBlock, const TABLEID *tbid, const SDelData *pDelData) { int32_t tDelBlockAppend(SDelBlock *pDelBlock, const TABLEID *tbid, const SDelData *pDelData) {
int32_t code = 0; ASSERT(pDelBlock->nRow < pDelBlock->capacity);
SColVal cv; pDelBlock->aData[0][pDelBlock->nRow] = tbid->suid;
pDelBlock->aData[1][pDelBlock->nRow] = tbid->uid;
// TODO pDelBlock->aData[2][pDelBlock->nRow] = pDelData->version;
code = tColDataAppendValue(&pDelBlock->aColData[0], &cv); pDelBlock->aData[3][pDelBlock->nRow] = pDelData->sKey;
pDelBlock->aData[4][pDelBlock->nRow] = pDelData->eKey;
code = tColDataAppendValue(&pDelBlock->aColData[1], &cv); pDelBlock->nRow++;
return 0;
code = tColDataAppendValue(&pDelBlock->aColData[2], &cv);
code = tColDataAppendValue(&pDelBlock->aColData[3], &cv);
code = tColDataAppendValue(&pDelBlock->aColData[4], &cv);
return code;
} }
int32_t tsdbUpdateSkmTb(STsdb *pTsdb, const TABLEID *tbid, SSkmInfo *pSkmTb) { int32_t tsdbUpdateSkmTb(STsdb *pTsdb, const TABLEID *tbid, SSkmInfo *pSkmTb) {

View File

@ -27,7 +27,7 @@ typedef struct SDelBlock SDelBlock;
typedef struct SDelBlk SDelBlk; typedef struct SDelBlk SDelBlk;
/* Exposed APIs */ /* Exposed APIs */
int32_t tDelBlockCreate(SDelBlock *pDelBlock); int32_t tDelBlockCreate(SDelBlock *pDelBlock, int32_t capacity);
int32_t tDelBlockDestroy(SDelBlock *pDelBlock); int32_t tDelBlockDestroy(SDelBlock *pDelBlock);
int32_t tDelBlockClear(SDelBlock *pDelBlock); int32_t tDelBlockClear(SDelBlock *pDelBlock);
int32_t tDelBlockAppend(SDelBlock *pDelBlock, const TABLEID *tbid, const SDelData *pDelData); int32_t tDelBlockAppend(SDelBlock *pDelBlock, const TABLEID *tbid, const SDelData *pDelData);
@ -36,8 +36,11 @@ int32_t tsdbUpdateSkmTb(STsdb *pTsdb, const TABLEID *tbid, SSkmInfo *pSkmTb);
int32_t tsdbUpdateSkmRow(STsdb *pTsdb, const TABLEID *tbid, int32_t sver, SSkmInfo *pSkmRow); int32_t tsdbUpdateSkmRow(STsdb *pTsdb, const TABLEID *tbid, int32_t sver, SSkmInfo *pSkmRow);
/* Exposed Structs */ /* Exposed Structs */
// <suid, uid, version, skey, ekey>
struct SDelBlock { struct SDelBlock {
SColData aColData[5]; // <suid, uid, version, skey, ekey> int32_t capacity;
int32_t nRow;
int64_t *aData[5]; // [suid, uid, version, skey, ekey
}; };
struct SDelBlk { struct SDelBlk {