TD-27
This commit is contained in:
parent
b87aef0959
commit
47f6402cbe
|
@ -91,7 +91,7 @@ void tdSetCol(STColumn *pCol, int8_t type, int16_t colId, int32_t bytes) {
|
|||
STSchema *tdNewSchema(int32_t nCols) {
|
||||
int32_t size = sizeof(STSchema) + sizeof(STColumn) * nCols;
|
||||
|
||||
STSchema *pSchema = (STSchema *)malloc(size);
|
||||
STSchema *pSchema = (STSchema *)calloc(1, size);
|
||||
if (pSchema == NULL) return NULL;
|
||||
pSchema->numOfCols = 0;
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ static int32_t tsdbSetRepoEnv(STsdbRepo *pRepo);
|
|||
static int32_t tsdbDestroyRepoEnv(STsdbRepo *pRepo);
|
||||
static int tsdbOpenMetaFile(char *tsdbDir);
|
||||
static int32_t tsdbInsertDataToTable(tsdb_repo_t *repo, SSubmitBlk *pBlock);
|
||||
static int32_t tsdbRestoreCfg(STsdbRepo *pRepo, STsdbCfg *pCfg);
|
||||
|
||||
#define TSDB_GET_TABLE_BY_ID(pRepo, sid) (((STSDBRepo *)pRepo)->pTableList)[sid]
|
||||
#define TSDB_GET_TABLE_BY_NAME(pRepo, name)
|
||||
|
@ -220,8 +221,10 @@ tsdb_repo_t *tsdbOpenRepo(char *tsdbDir) {
|
|||
|
||||
pRepo->rootDir = strdup(tsdbDir);
|
||||
|
||||
tsdbRestoreCfg(pRepo, &(pRepo->config));
|
||||
|
||||
pRepo->tsdbMeta = tsdbInitMeta(tsdbDir, pRepo->config.maxTables);
|
||||
if (pRepo == NULL) {
|
||||
if (pRepo->tsdbMeta == NULL) {
|
||||
free(pRepo->rootDir);
|
||||
free(pRepo);
|
||||
return NULL;
|
||||
|
|
|
@ -79,7 +79,7 @@ STable *tsdbDecodeTable(void *cont, int contLen) {
|
|||
T_READ_MEMBER(ptr, int32_t, pTable->superUid);
|
||||
T_READ_MEMBER(ptr, int32_t, pTable->sversion);
|
||||
|
||||
if (pTable->type = TSDB_SUPER_TABLE) {
|
||||
if (pTable->type == TSDB_SUPER_TABLE) {
|
||||
pTable->schema = tdDecodeSchema(&ptr);
|
||||
pTable->tagSchema = tdDecodeSchema(&ptr);
|
||||
} else if (pTable->type == TSDB_CHILD_TABLE) {
|
||||
|
|
|
@ -3,6 +3,44 @@
|
|||
|
||||
#include "tsdb.h"
|
||||
#include "dataformat.h"
|
||||
#include "tsdbMeta.h"
|
||||
|
||||
TEST(TsdbTest, tableEncodeDecode) {
|
||||
STable *pTable = (STable *)malloc(sizeof(STable));
|
||||
|
||||
pTable->type = TSDB_NORMAL_TABLE;
|
||||
pTable->tableId.uid = 987607499877672L;
|
||||
pTable->tableId.tid = 0;
|
||||
pTable->superUid = -1;
|
||||
pTable->sversion = 0;
|
||||
pTable->tagSchema = NULL;
|
||||
pTable->tagVal = NULL;
|
||||
int nCols = 5;
|
||||
STSchema *schema = tdNewSchema(nCols);
|
||||
|
||||
for (int i = 0; i < nCols; i++) {
|
||||
if (i == 0) {
|
||||
tdSchemaAppendCol(schema, TSDB_DATA_TYPE_TIMESTAMP, i, -1);
|
||||
} else {
|
||||
tdSchemaAppendCol(schema, TSDB_DATA_TYPE_INT, i, -1);
|
||||
}
|
||||
}
|
||||
|
||||
pTable->schema = schema;
|
||||
|
||||
int bufLen = 0;
|
||||
void *buf = tsdbEncodeTable(pTable, &bufLen);
|
||||
|
||||
STable *tTable = tsdbDecodeTable(buf, bufLen);
|
||||
|
||||
ASSERT_EQ(pTable->type, tTable->type);
|
||||
ASSERT_EQ(pTable->tableId.uid, tTable->tableId.uid);
|
||||
ASSERT_EQ(pTable->tableId.tid, tTable->tableId.tid);
|
||||
ASSERT_EQ(pTable->superUid, tTable->superUid);
|
||||
ASSERT_EQ(pTable->sversion, tTable->sversion);
|
||||
ASSERT_EQ(memcmp(pTable->schema, tTable->schema, sizeof(STSchema) + sizeof(STColumn) * nCols), 0);
|
||||
ASSERT_EQ(tTable->content.pData, nullptr);
|
||||
}
|
||||
|
||||
TEST(TsdbTest, createRepo) {
|
||||
STsdbCfg config;
|
||||
|
@ -65,3 +103,7 @@ TEST(TsdbTest, createRepo) {
|
|||
int k = 0;
|
||||
}
|
||||
|
||||
TEST(TsdbTest, openRepo) {
|
||||
tsdb_repo_t *pRepo = tsdbOpenRepo("/home/ubuntu/work/ttest/vnode0");
|
||||
ASSERT_NE(pRepo, nullptr);
|
||||
}
|
Loading…
Reference in New Issue