add sync function, need to refactor again
This commit is contained in:
parent
15d6f34de7
commit
d6319c1959
|
@ -109,6 +109,8 @@ int tsdbDropTable(TsdbRepoT *pRepo, STableId tableId);
|
|||
int tsdbAlterTable(TsdbRepoT *repo, STableCfg *pCfg);
|
||||
TSKEY tsdbGetTableLastKey(TsdbRepoT *repo, int64_t uid);
|
||||
|
||||
uint32_t tsdbGetFileInfo(TsdbRepoT *repo, char *name, uint32_t *index, int32_t *size);
|
||||
|
||||
// the TSDB repository info
|
||||
typedef struct STsdbRepoInfo {
|
||||
STsdbCfg tsdbCfg;
|
||||
|
|
|
@ -490,9 +490,10 @@ int tsdbWriteCompInfo(SRWHelper *pHelper);
|
|||
int tsdbWriteCompIdx(SRWHelper *pHelper);
|
||||
|
||||
// --------- Other functions need to further organize
|
||||
void tsdbFitRetention(STsdbRepo *pRepo);
|
||||
int tsdbAlterCacheTotalBlocks(STsdbRepo *pRepo, int totalBlocks);
|
||||
void tsdbAdjustCacheBlocks(STsdbCache *pCache);
|
||||
void tsdbFitRetention(STsdbRepo *pRepo);
|
||||
int tsdbAlterCacheTotalBlocks(STsdbRepo *pRepo, int totalBlocks);
|
||||
void tsdbAdjustCacheBlocks(STsdbCache *pCache);
|
||||
int32_t tsdbGetMetaFileName(char *rootDir, char *fname);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "tscompression.h"
|
||||
#include "tchecksum.h"
|
||||
#include "ttime.h"
|
||||
#include <sys/stat.h>
|
||||
|
||||
int tsdbDebugFlag = 135;
|
||||
|
||||
|
@ -760,7 +761,7 @@ static int32_t tsdbSetRepoEnv(STsdbRepo *pRepo) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
tsdbError(
|
||||
tsdbTrace(
|
||||
"id %d: set up tsdb environment succeed! cacheBlockSize %d, totalBlocks %d, maxTables %d, daysPerFile %d, keep "
|
||||
"%d, minRowsPerFileBlock %d, maxRowsPerFileBlock %d, precision %d, compression%d",
|
||||
pRepo->config.tsdbId, pCfg->cacheBlockSize, pCfg->totalBlocks, pCfg->maxTables, pCfg->daysPerFile, pCfg->keep,
|
||||
|
@ -1124,4 +1125,45 @@ static void tsdbAlterKeep(STsdbRepo *pRepo, int32_t keep) {
|
|||
|
||||
static void tsdbAlterMaxTables(STsdbRepo *pRepo, int32_t maxTables) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
uint32_t tsdbGetFileInfo(TsdbRepoT *repo, char *name, uint32_t *index, int32_t *size) {
|
||||
// TODO: need to refactor this function
|
||||
tsdbError("name:%s index:%d size:%d", name, *index, *size);
|
||||
|
||||
STsdbRepo *pRepo = (STsdbRepo *)repo;
|
||||
// STsdbMeta *pMeta = pRepo->tsdbMeta;
|
||||
STsdbFileH *pFileH = pRepo->tsdbFileH;
|
||||
uint32_t magic = 0;
|
||||
char fname[256] = "\0";
|
||||
|
||||
struct stat fState;
|
||||
|
||||
if (name[0] == 0) {
|
||||
// Map index to the file name
|
||||
int fid = (*index) / 3;
|
||||
|
||||
if (fid > pFileH->numOfFGroups) {
|
||||
// return meta data file
|
||||
if ((*index) % 3 > 0) { // it is finished
|
||||
return 0;
|
||||
} else {
|
||||
tsdbGetMetaFileName(pRepo->rootDir, fname);
|
||||
}
|
||||
} else {
|
||||
// return data file name
|
||||
strcpy(fname, pFileH->fGroup[fid].files[(*index) % 3].fname);
|
||||
}
|
||||
strcpy(name, fname);
|
||||
} else {
|
||||
// Name is provided, need to get the file info
|
||||
sprintf(fname, "%s/%s", pRepo->rootDir, name);
|
||||
}
|
||||
|
||||
if (stat(fname, &fState) < 0) return 0;
|
||||
|
||||
*size = fState.st_size;
|
||||
magic = *size;
|
||||
|
||||
return magic;
|
||||
}
|
|
@ -28,7 +28,7 @@ typedef struct {
|
|||
int64_t uid;
|
||||
} SRecordInfo;
|
||||
|
||||
static int32_t tsdbGetMetaFileName(char *rootDir, char *fname);
|
||||
// static int32_t tsdbGetMetaFileName(char *rootDir, char *fname);
|
||||
// static int32_t tsdbCheckMetaHeader(int fd);
|
||||
static int32_t tsdbWriteMetaHeader(int fd);
|
||||
static int tsdbCreateMetaFile(char *fname);
|
||||
|
@ -180,7 +180,7 @@ void tsdbCloseMetaFile(SMetaFile *mfh) {
|
|||
tfree(mfh);
|
||||
}
|
||||
|
||||
static int32_t tsdbGetMetaFileName(char *rootDir, char *fname) {
|
||||
int32_t tsdbGetMetaFileName(char *rootDir, char *fname) {
|
||||
if (rootDir == NULL) return -1;
|
||||
sprintf(fname, "%s/%s", rootDir, TSDB_META_FILE_NAME);
|
||||
return 0;
|
||||
|
|
|
@ -383,9 +383,8 @@ static int vnodeWalCallback(void *arg) {
|
|||
}
|
||||
|
||||
static uint32_t vnodeGetFileInfo(void *ahandle, char *name, uint32_t *index, int32_t *size) {
|
||||
// SVnodeObj *pVnode = ahandle;
|
||||
//tsdbGetFileInfo(pVnode->tsdb, name, index, size);
|
||||
return 0;
|
||||
SVnodeObj *pVnode = ahandle;
|
||||
return tsdbGetFileInfo(pVnode->tsdb, name, index, size);
|
||||
}
|
||||
|
||||
static int vnodeGetWalInfo(void *ahandle, char *name, uint32_t *index) {
|
||||
|
|
Loading…
Reference in New Issue