more
This commit is contained in:
parent
4e306a79cd
commit
d89aae08a2
|
@ -20,52 +20,25 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct tkv_db_s tkv_db_t;
|
// Types exported
|
||||||
|
typedef struct STkvDb STkvDb;
|
||||||
|
typedef struct STkvOptions STkvOptions;
|
||||||
|
typedef struct STkvCache STkvCache;
|
||||||
|
|
||||||
typedef struct {
|
// DB operations
|
||||||
/* data */
|
STkvDb *tkvOpen(const STkvOptions *options, const char *path);
|
||||||
} tkv_key_t;
|
void tkvClose(STkvDb *db);
|
||||||
|
void tkvPut(STkvDb *db, void * /*TODO*/);
|
||||||
|
|
||||||
typedef struct {
|
// DB options
|
||||||
bool pinned;
|
STkvOptions *tkvOptionsCreate();
|
||||||
int64_t ref; // TODO: use util library
|
void tkvOptionsDestroy(STkvOptions *);
|
||||||
// TODO: add a RW latch here
|
void tkvOptionsSetCache(STkvOptions *, STkvCache *);
|
||||||
uint64_t offset;
|
|
||||||
void * pObj;
|
|
||||||
} tkv_obj_t;
|
|
||||||
|
|
||||||
typedef int (*tkv_key_comp_fn_t)(const tkv_key_t *, const tkv_key_t *);
|
// DB cache
|
||||||
typedef void (*tkv_get_key_fn_t)(const tkv_obj_t *, tkv_key_t *);
|
typedef enum { TKV_LRU_CACHE = 0, TKV_LFU_CACHE = 1 } ETkvCacheType;
|
||||||
typedef int (*tkv_obj_encode_fn_t)(void **buf, void *pObj);
|
STkvCache *tkvCacheCreate(size_t capacity, ETkvCacheType type);
|
||||||
typedef void *(*tkv_obj_decode_fn_t)(void *buf, void **pObj);
|
void tkvCacheDestroy(STkvCache *);
|
||||||
typedef int (*tkv_obj_comp_fn_t)(const tkv_obj_t *, const tkv_obj_t *);
|
|
||||||
typedef void (*tkv_obj_destroy_fn_t)(void *);
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint64_t memLimit;
|
|
||||||
tkv_get_key_fn_t getKey;
|
|
||||||
tkv_obj_encode_fn_t encode;
|
|
||||||
tkv_obj_decode_fn_t decode;
|
|
||||||
tkv_obj_comp_fn_t compare;
|
|
||||||
tkv_obj_destroy_fn_t destroy;
|
|
||||||
} tkv_db_option_t;
|
|
||||||
|
|
||||||
tkv_db_t * tkvOpenDB(char *dir, tkv_db_option_t *);
|
|
||||||
int tkvCloseDB(tkv_db_t *);
|
|
||||||
int tkvPut(tkv_db_t *, tkv_obj_t *);
|
|
||||||
int tkvPutBatch(tkv_db_t *, tkv_obj_t **, int); // TODO: use array here
|
|
||||||
const tkv_obj_t *tkvGet(tkv_key_t *);
|
|
||||||
int tkvGetBatch(tkv_db_t *, tkv_key_t **, int, tkv_obj_t **); // TODO: use array here
|
|
||||||
int tkvDrop(tkv_db_t *, tkv_key_t *);
|
|
||||||
int tkvDropBatch(tkv_db_t *, tkv_key_t **, int); // TODO: use array here
|
|
||||||
int tkvCommit(tkv_db_t *, void * /*TODO*/);
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
} tkv_db_iter_t;
|
|
||||||
|
|
||||||
tkv_db_iter_t * tkvIterNew(tkv_db_t *);
|
|
||||||
void tkvIterFree(tkv_db_iter_t *);
|
|
||||||
const tkv_obj_t *tkvIterNext(tkv_db_iter_t *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,16 +18,42 @@
|
||||||
|
|
||||||
#include "taosMsg.h"
|
#include "taosMsg.h"
|
||||||
|
|
||||||
|
#include "os.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct SMeta SMeta;
|
typedef uint64_t tuid_t;
|
||||||
|
|
||||||
int metaCreateTable(SMeta *pMeta, SCreateTableReq *pReq);
|
// Types exported
|
||||||
int metaDropTable(SMeta *pMeta, SDropTableReq *pReq);
|
typedef struct SMeta SMeta;
|
||||||
int metaAlterTable(SMeta *pMeta, SAlterTableReq *pReq);
|
typedef struct SMetaOptions SMetaOptions;
|
||||||
int metaCommit(SMeta *pMeta);
|
typedef struct SMetaQueryHandle SMetaQueryHandle;
|
||||||
|
typedef struct SMetaQueryOptions SMetaQueryOptions;
|
||||||
|
|
||||||
|
// SMeta operations
|
||||||
|
int metaCreate(const char *path);
|
||||||
|
int metaDestroy(const char *path);
|
||||||
|
SMeta *metaOpen(SMetaOptions *);
|
||||||
|
void metaClose(SMeta *);
|
||||||
|
int metaCreateTable(SMeta *, void *);
|
||||||
|
int metaDropTable(SMeta *, uint64_t tuid_t);
|
||||||
|
int metaAlterTable(SMeta *, void *);
|
||||||
|
int metaCommit(SMeta *);
|
||||||
|
|
||||||
|
// Options
|
||||||
|
SMetaOptions *metaOptionsCreate();
|
||||||
|
void metaOptionsDestroy(SMetaOptions *);
|
||||||
|
void metaOptionsSetCache(SMetaOptions *, size_t capacity);
|
||||||
|
|
||||||
|
// SMetaQueryHandle
|
||||||
|
SMetaQueryHandle *metaQueryHandleCreate(SMetaQueryOptions *);
|
||||||
|
void metaQueryHandleDestroy(SMetaQueryHandle *);
|
||||||
|
|
||||||
|
// SMetaQueryOptions
|
||||||
|
SMetaQueryOptions *metaQueryOptionsCreate();
|
||||||
|
void metaQueryOptionsDestroy(SMetaQueryOptions *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,33 +23,60 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct STsdb STsdb;
|
// Types exported
|
||||||
typedef struct {
|
typedef struct STsdb STsdb;
|
||||||
int32_t id; // TODO: use a global definition
|
typedef struct STsdbOptions STsdbOptions;
|
||||||
int32_t days;
|
typedef struct STsdbSMAOptions STsdbSMAOptions; // SMA stands for Small Materialized Aggregation
|
||||||
int32_t keep;
|
typedef struct STsdbReadOptions STsdbReadOptions;
|
||||||
int32_t keep1;
|
typedef struct STsdbSnapshot STsdbSnapshot;
|
||||||
int32_t keep2;
|
typedef struct STsdbQueryHandle STsdbQueryHandle;
|
||||||
int32_t minRows;
|
|
||||||
int32_t maxRows;
|
|
||||||
int8_t precision;
|
|
||||||
int8_t update;
|
|
||||||
} STsdbCfg;
|
|
||||||
|
|
||||||
// Module init and clear
|
// DB operations
|
||||||
int tsdbInit();
|
int tsdbCreate(const char *path);
|
||||||
int tsdbClear();
|
int tsdbDestroy(const char *path);
|
||||||
|
STsdb *tsdbOpen(const STsdbOptions *options);
|
||||||
|
void tsdbClose(STsdb *);
|
||||||
|
int tsdbReset(STsdb *, const STsdbOptions *);
|
||||||
|
int tsdbInsert(STsdb *, SSubmitReq *, SSubmitRsp *);
|
||||||
|
int tsdbCommit(STsdb *);
|
||||||
|
int tsdbCompact(STsdb *);
|
||||||
|
|
||||||
// Repository operations
|
// Options
|
||||||
int tsdbCreateRepo(int id);
|
STsdbOptions *tsdbOptionsCreate();
|
||||||
int tsdbDropRepo(int id);
|
void tsdbOptionsDestroy(STsdbOptions *);
|
||||||
STsdb *tsdbOpenRepo(STsdbCfg *pCfg);
|
void tsdbOptionsSetId(STsdbOptions *, int id);
|
||||||
int tsdbCloseRepo(STsdb *pTsdb);
|
void tsdbOptionsSetHoursPerFile(STsdbOptions *, int hours);
|
||||||
int tsdbForceCloseRepo(STsdb *pTsdb);
|
void tsdbOptionsSetRetention(STsdbOptions *, int keep, int keep1, int keep2);
|
||||||
|
void tsdbOptionsSetMinAndMaxRows(STsdbOptions *, int minRows, int maxRows);
|
||||||
|
void tsdbOptionsSetPrecision(STsdbOptions *, int);
|
||||||
|
void tsdbOptionsSetCache(STsdbOptions *, int);
|
||||||
|
typedef enum { TSDB_NO_UPDATE = 0, TSDB_WHOLE_ROW_UPDATE = 1, TSDB_PARTIAL_ROW_UPDATE = 2 } ETsdbUpdateType;
|
||||||
|
void tsdbOptionsSetUpdate(STsdbOptions *, ETsdbUpdateType);
|
||||||
|
void tsdbOptionsSetSMA(STsdbOptions *, STsdbSMAOptions *);
|
||||||
|
|
||||||
// Data commit
|
// STsdbSMAOptions
|
||||||
int tsdbInsert(STsdb *pTsdb, SSubmitReq *pMsg);
|
STsdbSMAOptions *tsdbSMAOptionsCreate();
|
||||||
int tsdbCommit(STsdb *pTsdb);
|
void tsdbSMAOptionsDestroy(STsdbSMAOptions *);
|
||||||
|
void tsdbSMAOptionsSetFuncs(STsdbSMAOptions *, SArray * /*Array of function to perform on each block*/);
|
||||||
|
void tsdbSMAOptionsSetIntervals(STsdbSMAOptions *, SArray *);
|
||||||
|
void tsdbSMAOptionsSetColTypes(STsdbSMAOptions *, SArray *);
|
||||||
|
|
||||||
|
// STsdbQueryHandle
|
||||||
|
STsdbQueryHandle *tsdbQueryHandleCreate(STsdb *, STsdbReadOptions *);
|
||||||
|
void tsdbQueryHandleDestroy(STsdbQueryHandle *);
|
||||||
|
void tsdbResetQueryHandle(STsdbQueryHandle *, STsdbReadOptions *);
|
||||||
|
bool tsdbNextDataBlock(STsdbQueryHandle *);
|
||||||
|
void tsdbGetDataBlockInfo(STsdbQueryHandle *, SDataBlockInfo *);
|
||||||
|
void tsdbGetDataBlockStatisInfo(STsdbQueryHandle *, SDataStatis **);
|
||||||
|
|
||||||
|
// STsdbReadOptions
|
||||||
|
STsdbReadOptions *tsdbReadOptionsCreate();
|
||||||
|
void tsdbReadOptionsDestroy(STsdbReadOptions *);
|
||||||
|
void tsdbReadOptionsSetSnapshot(STsdbReadOptions *, STsdbSnapshot *);
|
||||||
|
|
||||||
|
// STsdbSnapshot
|
||||||
|
STsdbSnapshot *tsdbSnapshotCreate(STsdb *);
|
||||||
|
void tsdbSnapshotDestroy(STsdbSnapshot *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue