more code
This commit is contained in:
parent
fc8802df09
commit
a8eb32da9f
|
@ -76,7 +76,6 @@ typedef struct SRSmaSnapReader SRSmaSnapReader;
|
||||||
typedef struct SRSmaSnapWriter SRSmaSnapWriter;
|
typedef struct SRSmaSnapWriter SRSmaSnapWriter;
|
||||||
typedef struct SSnapDataHdr SSnapDataHdr;
|
typedef struct SSnapDataHdr SSnapDataHdr;
|
||||||
typedef struct SCommitInfo SCommitInfo;
|
typedef struct SCommitInfo SCommitInfo;
|
||||||
typedef struct SCompactInfo SCompactInfo;
|
|
||||||
|
|
||||||
#define VNODE_META_DIR "meta"
|
#define VNODE_META_DIR "meta"
|
||||||
#define VNODE_TSDB_DIR "tsdb"
|
#define VNODE_TSDB_DIR "tsdb"
|
||||||
|
@ -428,13 +427,10 @@ struct SCommitInfo {
|
||||||
SVnodeInfo info;
|
SVnodeInfo info;
|
||||||
SVnode* pVnode;
|
SVnode* pVnode;
|
||||||
TXN* txn;
|
TXN* txn;
|
||||||
};
|
|
||||||
struct SCompactInfo {
|
|
||||||
SVnodeInfo info;
|
|
||||||
SVnode* pVnode;
|
|
||||||
TXN* txn;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
// APIs
|
||||||
|
int32_t (*commitFn)(STsdb* pTsdb, SCommitInfo* pInfo);
|
||||||
|
};
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -15,23 +15,26 @@
|
||||||
|
|
||||||
#include "tsdb.h"
|
#include "tsdb.h"
|
||||||
|
|
||||||
// typedef struct {
|
typedef struct {
|
||||||
// } SMemDIter;
|
} SMemDIter;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
SArray *aBlockIdx; // SArray<SBlockIdx>
|
SDataFReader *pReader;
|
||||||
SMapData mDataBlk; // SMapData<SDataBlk>
|
SArray *aBlockIdx; // SArray<SBlockIdx>
|
||||||
SBlockData bData;
|
SMapData mDataBlk; // SMapData<SDataBlk>
|
||||||
int32_t iBlockIdx;
|
SBlockData bData;
|
||||||
int32_t iDataBlk;
|
int32_t iBlockIdx;
|
||||||
int32_t iRow;
|
int32_t iDataBlk;
|
||||||
|
int32_t iRow;
|
||||||
} SDataDIter;
|
} SDataDIter;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
SArray *aSttBlk; // SArray<SSttBlk>
|
SDataFReader *pReader;
|
||||||
SBlockData bData;
|
int32_t iStt;
|
||||||
int32_t iSttBlk;
|
SArray *aSttBlk; // SArray<SSttBlk>
|
||||||
int32_t iRow;
|
SBlockData bData;
|
||||||
|
int32_t iSttBlk;
|
||||||
|
int32_t iRow;
|
||||||
} SSttDIter;
|
} SSttDIter;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -53,11 +56,66 @@ typedef struct {
|
||||||
#define TSDB_FLG_DEEP_COMPACT 0x1
|
#define TSDB_FLG_DEEP_COMPACT 0x1
|
||||||
|
|
||||||
// ITER =========================
|
// ITER =========================
|
||||||
static int32_t tsdbDataIterOpen(STsdbDataIter *pIter) {
|
static int32_t tsdbMemDIterOpen(STsdbDataIter **ppIter) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
|
||||||
|
STsdbDataIter *pIter = (STsdbDataIter *)taosMemoryCalloc(1, sizeof(*pIter) + sizeof(SMemDIter));
|
||||||
|
if (pIter == NULL) {
|
||||||
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
goto _exit;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
*ppIter = NULL;
|
||||||
|
} else {
|
||||||
|
*ppIter = pIter;
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t tsdbDataDIterOpen(SDataFReader *pReader, STsdbDataIter **ppIter) {
|
||||||
|
int32_t code = 0;
|
||||||
|
int32_t lino = 0;
|
||||||
|
|
||||||
|
STsdbDataIter *pIter = (STsdbDataIter *)taosMemoryCalloc(1, sizeof(*pIter) + sizeof(SDataDIter));
|
||||||
|
if (NULL == pIter) {
|
||||||
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
goto _exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
*ppIter = NULL;
|
||||||
|
} else {
|
||||||
|
*ppIter = pIter;
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t tsdbSttDIterOpen(SDataFReader *pReader, STsdbDataIter **ppIter) {
|
||||||
|
int32_t code = 0;
|
||||||
|
int32_t lino = 0;
|
||||||
|
|
||||||
|
STsdbDataIter *pIter = (STsdbDataIter *)taosMemoryCalloc(1, sizeof(*pIter) + sizeof(SSttDIter));
|
||||||
|
if (pIter == NULL) {
|
||||||
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
goto _exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
*ppIter = NULL;
|
||||||
|
} else {
|
||||||
|
*ppIter = pIter;
|
||||||
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,7 @@
|
||||||
|
|
||||||
extern void vnodePrepareCommit(SVnode *pVnode);
|
extern void vnodePrepareCommit(SVnode *pVnode);
|
||||||
|
|
||||||
#define vnodePrepareCompact vnodePrepareCommit
|
static int32_t vnodeCompactImpl(SCommitInfo *pInfo) {
|
||||||
|
|
||||||
static int32_t vnodeCompactImpl(SCompactInfo *pInfo) {
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -30,7 +28,7 @@ static int32_t vnodeCompactImpl(SCompactInfo *pInfo) {
|
||||||
static int32_t vnodeCompactTask(void *param) {
|
static int32_t vnodeCompactTask(void *param) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
SCompactInfo *pInfo = (SCompactInfo *)param;
|
SCommitInfo *pInfo = (SCommitInfo *)param;
|
||||||
|
|
||||||
// compact
|
// compact
|
||||||
vnodeCompactImpl(pInfo);
|
vnodeCompactImpl(pInfo);
|
||||||
|
@ -46,10 +44,10 @@ int32_t vnodeAsyncCompact(SVnode *pVnode) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
// prepare
|
// prepare
|
||||||
vnodePrepareCompact(pVnode);
|
vnodePrepareCommit(pVnode);
|
||||||
|
|
||||||
// schedule compact task
|
// schedule compact task
|
||||||
SCompactInfo *pInfo = taosMemoryCalloc(1, sizeof(*pInfo));
|
SCommitInfo *pInfo = taosMemoryCalloc(1, sizeof(*pInfo));
|
||||||
if (NULL == pInfo) {
|
if (NULL == pInfo) {
|
||||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
goto _exit;
|
goto _exit;
|
||||||
|
|
Loading…
Reference in New Issue