more code
This commit is contained in:
parent
8fa2f08711
commit
62231ef14c
|
@ -33,13 +33,16 @@ typedef enum {
|
|||
TSDB_FTYPE_TOMB, // .tomb
|
||||
} tsdb_ftype_t;
|
||||
|
||||
const char *tsdb_ftype_suffix[] = {
|
||||
"none", "stt", "head", "data", "sma", "tomb",
|
||||
};
|
||||
|
||||
typedef struct SFStt {
|
||||
int64_t cid;
|
||||
int64_t offset;
|
||||
} SFStt;
|
||||
|
||||
typedef struct SFHead {
|
||||
// TODO
|
||||
int64_t offset;
|
||||
} SFHead;
|
||||
|
||||
typedef struct SFData {
|
||||
|
@ -56,8 +59,10 @@ typedef struct SFTomb {
|
|||
|
||||
struct STFile {
|
||||
SDiskID diskId;
|
||||
tsdb_ftype_t type;
|
||||
int64_t size;
|
||||
int64_t cid;
|
||||
int32_t fid;
|
||||
tsdb_ftype_t type;
|
||||
union {
|
||||
SFStt fstt;
|
||||
SFHead fhead;
|
||||
|
|
|
@ -14,10 +14,44 @@
|
|||
*/
|
||||
|
||||
#include "tsdbSttFWriter.h"
|
||||
#include "tsdbUtil.h"
|
||||
|
||||
struct SSttFWriter {
|
||||
SSttFWriterConf conf;
|
||||
SBlockData bData;
|
||||
SDelBlock dData;
|
||||
SArray *aSttBlk; // SArray<SSttBlk>
|
||||
SArray *aDelBlk; // SArray<SDelBlk>
|
||||
SSkmInfo skmTb;
|
||||
SSkmInfo skmRow;
|
||||
STsdbFD *pFd;
|
||||
};
|
||||
|
||||
int32_t tsdbSttFWriterOpen(const SSttFWriterConf *pConf, SSttFWriter **ppWriter) {
|
||||
int32_t code = 0;
|
||||
// TODO
|
||||
int32_t lino = 0;
|
||||
|
||||
ppWriter[0] = taosMemoryCalloc(1, sizeof(SSttFWriter));
|
||||
if (ppWriter[0] == NULL) {
|
||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||
TSDB_CHECK_CODE(code, lino, _exit);
|
||||
}
|
||||
|
||||
ppWriter[0]->conf = pConf[0];
|
||||
if (ppWriter[0]->conf.pSkmTb == NULL) ppWriter[0]->conf.pSkmTb = &ppWriter[0]->skmTb;
|
||||
if (ppWriter[0]->conf.pSkmRow == NULL) ppWriter[0]->conf.pSkmRow = &ppWriter[0]->skmRow;
|
||||
|
||||
tBlockDataCreate(&ppWriter[0]->bData);
|
||||
// tDelBlockCreate(&ppWriter[0]->dData);
|
||||
|
||||
_exit:
|
||||
if (code) {
|
||||
tsdbError("vgId:%d %s failed at line %d since %s", TD_VID(pConf->pTsdb->pVnode), __func__, lino, tstrerror(code));
|
||||
if (ppWriter[0]) {
|
||||
taosMemoryFree(ppWriter[0]);
|
||||
ppWriter[0] = NULL;
|
||||
}
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,8 +31,10 @@ int32_t tsdbSttFWriteTSData(SSttFWriter *pWriter, TABLEID *tbid, TSDBROW *pRow);
|
|||
int32_t tsdbSttFWriteDLData(SSttFWriter *pWriter, TABLEID *tbid, SDelData *pDelData);
|
||||
|
||||
struct SSttFWriterConf {
|
||||
STsdb *pTsdb;
|
||||
int32_t maxRow;
|
||||
STsdb *pTsdb;
|
||||
SSkmInfo *pSkmTb;
|
||||
SSkmInfo *pSkmRow;
|
||||
int32_t maxRow;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* This program is free software: you can use, redistribute, and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3
|
||||
* or later ("AGPL"), as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* This program is free software: you can use, redistribute, and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3
|
||||
* or later ("AGPL"), as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _TSDB_UTIL_H
|
||||
#define _TSDB_UTIL_H
|
||||
|
||||
#include "tsdb.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exposed Handle */
|
||||
typedef struct SDelBlock SDelBlock;
|
||||
typedef struct SDelBlk SDelBlk;
|
||||
|
||||
/* Exposed APIs */
|
||||
|
||||
/* Exposed Structs */
|
||||
struct SDelBlock {
|
||||
// <suid, uid, version, skey, ekey>
|
||||
SColData aColData[4];
|
||||
};
|
||||
|
||||
struct SDelBlk {
|
||||
int64_t suidMax;
|
||||
int64_t suidMin;
|
||||
int64_t uidMax;
|
||||
int64_t uidMin;
|
||||
int64_t verMax;
|
||||
int64_t verMin;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*_TSDB_UTIL_H*/
|
Loading…
Reference in New Issue