more tdb
This commit is contained in:
parent
254e144f04
commit
7dbc861b4c
|
@ -37,12 +37,10 @@ typedef int32_t (*PutReqToVQueryQFp)(SDnode *pDnode, struct SRpcMsg *pReq);
|
|||
typedef struct SVnodeCfg {
|
||||
int32_t vgId;
|
||||
SDnode * pDnode;
|
||||
struct {
|
||||
uint64_t wsize;
|
||||
uint64_t ssize;
|
||||
uint64_t lsize;
|
||||
bool isHeapAllocator;
|
||||
};
|
||||
uint32_t ttl;
|
||||
uint32_t keep;
|
||||
bool isWeak;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
aux_source_directory(src TDB_SRC)
|
||||
|
||||
set(TDB_SUBDIRS "btree" "db" "hash" "mpool" "dmgr")
|
||||
foreach(TDB_SUBDIR ${TDB_SUBDIRS})
|
||||
aux_source_directory("src/${TDB_SUBDIR}" TDB_SRC)
|
||||
endforeach()
|
||||
|
||||
add_library(tdb STATIC ${TDB_SRC})
|
||||
# target_include_directories(
|
||||
# tkv
|
||||
# PUBLIC "${CMAKE_SOURCE_DIR}/include/libs/tkv"
|
||||
# PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc"
|
||||
# )
|
||||
|
||||
target_include_directories(
|
||||
tdb
|
||||
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc"
|
||||
|
@ -17,5 +18,5 @@ target_link_libraries(
|
|||
)
|
||||
|
||||
if(${BUILD_TEST})
|
||||
# add_subdirectory(test)
|
||||
add_subdirectory(test)
|
||||
endif(${BUILD_TEST})
|
||||
|
|
|
@ -22,10 +22,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define TDB_EXTERN
|
||||
#define TDB_PUBLIC
|
||||
#define TDB_STATIC static
|
||||
|
||||
typedef enum {
|
||||
TDB_BTREE = 0,
|
||||
TDB_HASH,
|
||||
TDB_HEAP,
|
||||
TDB_BTREE_T = 0,
|
||||
TDB_HASH_T,
|
||||
TDB_HEAP_T,
|
||||
} tdb_db_t;
|
||||
|
||||
// Forward declaration
|
||||
|
@ -39,9 +43,9 @@ typedef struct {
|
|||
} TDB_KEY, TDB_VALUE;
|
||||
|
||||
// TDB Operations
|
||||
int tdbCreateDB(TDB** dbpp);
|
||||
int tdbOpenDB(TDB* dbp, tdb_db_t type, uint32_t flags);
|
||||
int tdbCloseDB(TDB* dbp, uint32_t flags);
|
||||
TDB_EXTERN int tdbCreateDB(TDB** dbpp);
|
||||
TDB_EXTERN int tdbOpenDB(TDB* dbp, tdb_db_t type, uint32_t flags);
|
||||
TDB_EXTERN int tdbCloseDB(TDB* dbp, uint32_t flags);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "tdbDB.h"
|
||||
#include "tdb.h"
|
||||
|
||||
TDB_EXTERN int tdbCreateDB(TDB** dbpp) {
|
||||
TDB* dbp;
|
||||
|
||||
// dbp = malloc
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbOpenDB(TDB* dbp, tdb_db_t type, uint32_t flags) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbCloseDB(TDB* dbp, uint32_t flags) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
#ifndef _TD_TDB_BTREE_H_
|
||||
#define _TD_TDB_BTREE_H_
|
||||
|
||||
#include "tkvDef.h"
|
||||
#include "tdbDef.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#ifndef _TD_TDB_DB_H_
|
||||
#define _TD_TDB_DB_H_
|
||||
|
||||
#include "tdb.h"
|
||||
#include "tdbBtree.h"
|
||||
#include "tdbHash.h"
|
||||
|
||||
|
@ -23,7 +24,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
struct TDB {
|
||||
pgsize_t pageSize;
|
||||
tdb_db_t type;
|
||||
|
|
|
@ -24,16 +24,17 @@ extern "C" {
|
|||
|
||||
// pgid_t
|
||||
typedef int32_t pgid_t;
|
||||
#define TKV_IVLD_PGID ((pgid_t)-1)
|
||||
#define TDB_IVLD_PGID ((pgid_t)-1)
|
||||
|
||||
// framd_id_t
|
||||
typedef int32_t frame_id_t;
|
||||
|
||||
// pgsize_t
|
||||
typedef int32_t pgsize_t;
|
||||
#define TKV_MIN_PGSIZE 512
|
||||
#define TKV_MAX_PGSIZE 16384
|
||||
#define TKV_IS_PGSIZE_VLD(s) (((s) >= TKV_MIN_PGSIZE) && (TKV_MAX_PGSIZE <= TKV_MAX_PGSIZE))
|
||||
#define TDB_MIN_PGSIZE 512
|
||||
#define TDB_MAX_PGSIZE 16384
|
||||
#define TDB_DEFAULT_PGSIZE 4096
|
||||
#define TDB_IS_PGSIZE_VLD(s) (((s) >= TKV_MIN_PGSIZE) && (TKV_MAX_PGSIZE <= TKV_MAX_PGSIZE))
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ TEST(tdb_api_test, tdb_create_open_close_db_test) {
|
|||
|
||||
tdbCreateDB(&dbp);
|
||||
|
||||
tdbOpenDB(dbp, TDB_BTREE, 0);
|
||||
tdbOpenDB(dbp, TDB_BTREE_T, 0);
|
||||
|
||||
tdbCloseDB(dbp, 0);
|
||||
}
|
Loading…
Reference in New Issue