Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8f539933
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8f539933
编写于
1月 13, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/feature/vnode' into feature/qnode
上级
43272935
4d32cfff
变更
14
显示空白变更内容
内联
并排
Showing
14 changed file
with
158 addition
and
43 deletion
+158
-43
.devcontainer/devcontainer.json
.devcontainer/devcontainer.json
+2
-1
source/dnode/vnode/inc/vnode.h
source/dnode/vnode/inc/vnode.h
+12
-14
source/dnode/vnode/src/tsdb/tsdbWrite.c
source/dnode/vnode/src/tsdb/tsdbWrite.c
+4
-2
source/libs/tdb/CMakeLists.txt
source/libs/tdb/CMakeLists.txt
+8
-7
source/libs/tdb/inc/tdb.h
source/libs/tdb/inc/tdb.h
+10
-6
source/libs/tdb/src/db/tdbDB.c
source/libs/tdb/src/db/tdbDB.c
+67
-0
source/libs/tdb/src/dmgr/tdbDiskMgr.c
source/libs/tdb/src/dmgr/tdbDiskMgr.c
+0
-0
source/libs/tdb/src/inc/tdbBtree.h
source/libs/tdb/src/inc/tdbBtree.h
+3
-1
source/libs/tdb/src/inc/tdbDB.h
source/libs/tdb/src/inc/tdbDB.h
+5
-3
source/libs/tdb/src/inc/tdbDef.h
source/libs/tdb/src/inc/tdbDef.h
+5
-4
source/libs/tdb/src/inc/tdbHash.h
source/libs/tdb/src/inc/tdbHash.h
+5
-3
source/libs/tdb/src/inc/tdbHeap.h
source/libs/tdb/src/inc/tdbHeap.h
+35
-0
source/libs/tdb/src/mpool/tdbBufPool.c
source/libs/tdb/src/mpool/tdbBufPool.c
+0
-0
source/libs/tdb/test/tdbTest.cpp
source/libs/tdb/test/tdbTest.cpp
+2
-2
未找到文件。
.devcontainer/devcontainer.json
浏览文件 @
8f539933
...
@@ -26,7 +26,8 @@
...
@@ -26,7 +26,8 @@
"eamodio.gitlens"
,
"eamodio.gitlens"
,
"matepek.vscode-catch2-test-adapter"
,
"matepek.vscode-catch2-test-adapter"
,
"spmeesseman.vscode-taskexplorer"
,
"spmeesseman.vscode-taskexplorer"
,
"cschlosser.doxdocgen"
"cschlosser.doxdocgen"
,
"urosvujosevic.explorer-manager"
],
],
//
Use
'forwardPorts'
to
make
a
list
of
ports
inside
the
container
available
locally.
//
Use
'forwardPorts'
to
make
a
list
of
ports
inside
the
container
available
locally.
//
"forwardPorts"
:
[],
//
"forwardPorts"
:
[],
...
...
source/dnode/vnode/inc/vnode.h
浏览文件 @
8f539933
...
@@ -36,13 +36,11 @@ typedef int32_t (*PutReqToVQueryQFp)(SDnode *pDnode, struct SRpcMsg *pReq);
...
@@ -36,13 +36,11 @@ typedef int32_t (*PutReqToVQueryQFp)(SDnode *pDnode, struct SRpcMsg *pReq);
typedef
struct
SVnodeCfg
{
typedef
struct
SVnodeCfg
{
int32_t
vgId
;
int32_t
vgId
;
SDnode
*
pDnode
;
SDnode
*
pDnode
;
struct
{
uint64_t
wsize
;
uint64_t
wsize
;
uint64_t
ssize
;
uint64_t
ssize
;
uint64_t
lsize
;
uint64_t
lsize
;
bool
isHeapAllocator
;
bool
isHeapAllocator
;
};
uint32_t
ttl
;
uint32_t
ttl
;
uint32_t
keep
;
uint32_t
keep
;
bool
isWeak
;
bool
isWeak
;
...
@@ -54,9 +52,9 @@ typedef struct SVnodeCfg {
...
@@ -54,9 +52,9 @@ typedef struct SVnodeCfg {
typedef
struct
{
typedef
struct
{
int32_t
sver
;
int32_t
sver
;
char
*
timezone
;
char
*
timezone
;
char
*
locale
;
char
*
locale
;
char
*
charset
;
char
*
charset
;
uint16_t
nthreads
;
// number of commit threads. 0 for no threads and a schedule queue should be given (TODO)
uint16_t
nthreads
;
// number of commit threads. 0 for no threads and a schedule queue should be given (TODO)
PutReqToVQueryQFp
putReqToVQueryQFp
;
PutReqToVQueryQFp
putReqToVQueryQFp
;
}
SVnodeOpt
;
}
SVnodeOpt
;
...
...
source/dnode/vnode/src/tsdb/tsdbWrite.c
浏览文件 @
8f539933
...
@@ -17,9 +17,11 @@
...
@@ -17,9 +17,11 @@
int
tsdbInsertData
(
STsdb
*
pTsdb
,
SSubmitMsg
*
pMsg
,
SSubmitRsp
*
pRsp
)
{
int
tsdbInsertData
(
STsdb
*
pTsdb
,
SSubmitMsg
*
pMsg
,
SSubmitRsp
*
pRsp
)
{
// Check if mem is there. If not, create one.
// Check if mem is there. If not, create one.
if
(
pTsdb
->
mem
==
NULL
)
{
pTsdb
->
mem
=
tsdbNewMemTable
(
pTsdb
);
pTsdb
->
mem
=
tsdbNewMemTable
(
pTsdb
);
if
(
pTsdb
->
mem
==
NULL
)
{
if
(
pTsdb
->
mem
==
NULL
)
{
return
-
1
;
return
-
1
;
}
}
}
return
tsdbMemTableInsert
(
pTsdb
,
pTsdb
->
mem
,
pMsg
,
NULL
);
return
tsdbMemTableInsert
(
pTsdb
,
pTsdb
->
mem
,
pMsg
,
NULL
);
}
}
\ No newline at end of file
source/libs/tdb/CMakeLists.txt
浏览文件 @
8f539933
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
}
)
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
(
target_include_directories
(
tdb
tdb
PUBLIC
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc"
PUBLIC
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc"
...
@@ -17,5 +18,5 @@ target_link_libraries(
...
@@ -17,5 +18,5 @@ target_link_libraries(
)
)
if
(
${
BUILD_TEST
}
)
if
(
${
BUILD_TEST
}
)
#
add_subdirectory(test)
add_subdirectory
(
test
)
endif
(
${
BUILD_TEST
}
)
endif
(
${
BUILD_TEST
}
)
source/libs/tdb/inc/tdb.h
浏览文件 @
8f539933
...
@@ -22,10 +22,14 @@
...
@@ -22,10 +22,14 @@
extern
"C"
{
extern
"C"
{
#endif
#endif
#define TDB_EXTERN
#define TDB_PUBLIC
#define TDB_STATIC static
typedef
enum
{
typedef
enum
{
TDB_BTREE
=
0
,
TDB_BTREE
_T
=
0
,
TDB_HASH
,
TDB_HASH
_T
,
TDB_HEAP
,
TDB_HEAP
_T
,
}
tdb_db_t
;
}
tdb_db_t
;
// Forward declaration
// Forward declaration
...
@@ -39,9 +43,9 @@ typedef struct {
...
@@ -39,9 +43,9 @@ typedef struct {
}
TDB_KEY
,
TDB_VALUE
;
}
TDB_KEY
,
TDB_VALUE
;
// TDB Operations
// TDB Operations
int
tdbCreateDB
(
TDB
**
dbpp
);
TDB_EXTERN
int
tdbCreateDB
(
TDB
**
dbpp
,
tdb_db_t
type
);
int
tdbOpenDB
(
TDB
*
dbp
,
tdb_db_t
type
,
uint32_t
flags
);
TDB_EXTERN
int
tdbOpenDB
(
TDB
*
dbp
,
uint32_t
flags
);
int
tdbCloseDB
(
TDB
*
dbp
,
uint32_t
flags
);
TDB_EXTERN
int
tdbCloseDB
(
TDB
*
dbp
,
uint32_t
flags
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
source/libs/tdb/src/db/tdbDB.c
0 → 100644
浏览文件 @
8f539933
/*
* 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_db_t
type
)
{
TDB
*
dbp
;
int
ret
;
dbp
=
calloc
(
1
,
sizeof
(
*
dbp
));
if
(
dbp
==
NULL
)
{
return
-
1
;
}
dbp
->
pageSize
=
TDB_DEFAULT_PGSIZE
;
dbp
->
type
=
type
;
switch
(
type
)
{
case
TDB_BTREE_T
:
// ret = tdbInitBtreeDB(dbp);
// if (ret < 0) goto _err;
break
;
case
TDB_HASH_T
:
// ret = tdbInitHashDB(dbp);
// if (ret < 0) goto _err;
break
;
case
TDB_HEAP_T
:
// ret = tdbInitHeapDB(dbp);
// if (ret < 0) goto _err;
break
;
default:
break
;
}
*
dbpp
=
dbp
;
return
0
;
_err:
if
(
dbp
)
{
free
(
dbp
);
}
*
dbpp
=
NULL
;
return
0
;
}
TDB_EXTERN
int
tdbOpenDB
(
TDB
*
dbp
,
uint32_t
flags
)
{
// TODO
return
0
;
}
TDB_EXTERN
int
tdbCloseDB
(
TDB
*
dbp
,
uint32_t
flags
)
{
// TODO
return
0
;
}
\ No newline at end of file
source/libs/tdb/src/tdbDiskMgr.c
→
source/libs/tdb/src/
dmgr/
tdbDiskMgr.c
浏览文件 @
8f539933
文件已移动
source/libs/tdb/src/inc/tdbBtree.h
浏览文件 @
8f539933
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
#ifndef _TD_TDB_BTREE_H_
#ifndef _TD_TDB_BTREE_H_
#define _TD_TDB_BTREE_H_
#define _TD_TDB_BTREE_H_
#include "t
kv
Def.h"
#include "t
db
Def.h"
#ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
...
@@ -26,6 +26,8 @@ typedef struct {
...
@@ -26,6 +26,8 @@ typedef struct {
pgid_t
root
;
// root page number
pgid_t
root
;
// root page number
}
TDB_BTREE
;
}
TDB_BTREE
;
TDB_PUBLIC
int
tdbInitBtreeDB
(
TDB
*
dbp
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
#endif
#endif
...
...
source/libs/tdb/src/inc/tdbDB.h
浏览文件 @
8f539933
...
@@ -16,20 +16,22 @@
...
@@ -16,20 +16,22 @@
#ifndef _TD_TDB_DB_H_
#ifndef _TD_TDB_DB_H_
#define _TD_TDB_DB_H_
#define _TD_TDB_DB_H_
#include "tdb.h"
#include "tdbBtree.h"
#include "tdbBtree.h"
#include "tdbHash.h"
#include "tdbHash.h"
#include "tdbHeap.h"
#ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#endif
#endif
struct
TDB
{
struct
TDB
{
pgsize_t
pageSize
;
pgsize_t
pageSize
;
tdb_db_t
type
;
tdb_db_t
type
;
union
{
union
{
TDB_BTREE
btree
;
TDB_BTREE
*
btree
;
TDB_HASH
hash
;
TDB_HASH
*
hash
;
TDB_HEAP
*
heap
;
}
dbam
;
// Different access methods
}
dbam
;
// Different access methods
};
};
...
...
source/libs/tdb/src/inc/tdbDef.h
浏览文件 @
8f539933
...
@@ -24,16 +24,17 @@ extern "C" {
...
@@ -24,16 +24,17 @@ extern "C" {
// pgid_t
// pgid_t
typedef
int32_t
pgid_t
;
typedef
int32_t
pgid_t
;
#define T
KV
_IVLD_PGID ((pgid_t)-1)
#define T
DB
_IVLD_PGID ((pgid_t)-1)
// framd_id_t
// framd_id_t
typedef
int32_t
frame_id_t
;
typedef
int32_t
frame_id_t
;
// pgsize_t
// pgsize_t
typedef
int32_t
pgsize_t
;
typedef
int32_t
pgsize_t
;
#define TKV_MIN_PGSIZE 512
#define TDB_MIN_PGSIZE 512
#define TKV_MAX_PGSIZE 16384
#define TDB_MAX_PGSIZE 16384
#define TKV_IS_PGSIZE_VLD(s) (((s) >= TKV_MIN_PGSIZE) && (TKV_MAX_PGSIZE <= TKV_MAX_PGSIZE))
#define TDB_DEFAULT_PGSIZE 4096
#define TDB_IS_PGSIZE_VLD(s) (((s) >= TKV_MIN_PGSIZE) && (TKV_MAX_PGSIZE <= TKV_MAX_PGSIZE))
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
source/libs/tdb/src/inc/tdbHash.h
浏览文件 @
8f539933
...
@@ -13,8 +13,8 @@
...
@@ -13,8 +13,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
#ifndef _TD_T
KV_HAHS
_H_
#ifndef _TD_T
DB_HASH
_H_
#define _TD_T
KV_HAHS
_H_
#define _TD_T
DB_HASH
_H_
#include "tdbDef.h"
#include "tdbDef.h"
...
@@ -26,8 +26,10 @@ typedef struct {
...
@@ -26,8 +26,10 @@ typedef struct {
// TODO
// TODO
}
TDB_HASH
;
}
TDB_HASH
;
TDB_PUBLIC
int
tdbInitHashDB
(
TDB
*
dbp
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
#endif
#endif
#endif
/*_TD_TKV_HAHS_H_*/
#endif
/*_TD_TDB_HASH_H_*/
\ No newline at end of file
\ No newline at end of file
source/libs/tdb/src/inc/tdbHeap.h
0 → 100644
浏览文件 @
8f539933
/*
* 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 _TD_TDB_HEAP_H_
#define _TD_TDB_HEAP_H_
#include "tdbDef.h"
#ifdef __cplusplus
extern
"C"
{
#endif
typedef
struct
{
// TODO
}
TDB_HEAP
;
TDB_PUBLIC
int
tdbInitHeapDB
(
TDB
*
dbp
);
#ifdef __cplusplus
}
#endif
#endif
/*_TD_TDB_HEAP_H_*/
\ No newline at end of file
source/libs/tdb/src/tdbBufPool.c
→
source/libs/tdb/src/
mpool/
tdbBufPool.c
浏览文件 @
8f539933
文件已移动
source/libs/tdb/test/tdbTest.cpp
浏览文件 @
8f539933
...
@@ -6,9 +6,9 @@ TEST(tdb_api_test, tdb_create_open_close_db_test) {
...
@@ -6,9 +6,9 @@ TEST(tdb_api_test, tdb_create_open_close_db_test) {
int
ret
;
int
ret
;
TDB
*
dbp
;
TDB
*
dbp
;
tdbCreateDB
(
&
dbp
);
tdbCreateDB
(
&
dbp
,
TDB_BTREE_T
);
tdbOpenDB
(
dbp
,
TDB_BTREE
,
0
);
tdbOpenDB
(
dbp
,
0
);
tdbCloseDB
(
dbp
,
0
);
tdbCloseDB
(
dbp
,
0
);
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录