Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
628c989e
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
628c989e
编写于
3月 01, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
afe0f1b6
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
33 addition
and
19 deletion
+33
-19
source/libs/tdb/src/db/tdbBtree.c
source/libs/tdb/src/db/tdbBtree.c
+1
-13
source/libs/tdb/src/db/tdbDb.c
source/libs/tdb/src/db/tdbDb.c
+15
-1
source/libs/tdb/src/inc/tdbBtree.h
source/libs/tdb/src/inc/tdbBtree.h
+12
-0
source/libs/tdb/src/inc/tdbInt.h
source/libs/tdb/src/inc/tdbInt.h
+2
-0
source/libs/tdb/test/tdbTest.cpp
source/libs/tdb/test/tdbTest.cpp
+3
-5
未找到文件。
source/libs/tdb/src/db/tdbBtree.c
浏览文件 @
628c989e
...
...
@@ -15,8 +15,6 @@
#include "tdbInt.h"
#define BTREE_MAX_DEPTH 20
struct
SBTree
{
SPgno
root
;
int
keyLen
;
...
...
@@ -36,20 +34,10 @@ typedef struct SPgHdr {
SPgno
rightChild
;
}
SPgHdr
;
typedef
struct
SBtPage
{
struct
SBtPage
{
SPgHdr
*
pHdr
;
u16
*
aCellIdx
;
u8
*
aData
;
}
SBtPage
;
struct
SBtCursor
{
SBTree
*
pBt
;
i8
iPage
;
SBtPage
*
pPage
;
u16
idx
;
u16
idxStack
[
BTREE_MAX_DEPTH
+
1
];
SBtPage
*
pgStack
[
BTREE_MAX_DEPTH
+
1
];
void
*
pBuf
;
};
typedef
struct
SFreeCell
{
...
...
source/libs/tdb/src/db/tdbDb.c
浏览文件 @
628c989e
...
...
@@ -75,6 +75,20 @@ int tdbDbDrop(STDb *pDb) {
}
int
tdbDbInsert
(
STDb
*
pDb
,
const
void
*
pKey
,
int
keyLen
,
const
void
*
pVal
,
int
valLen
)
{
// TODO
SBtCursor
btc
;
SBtCursor
*
pCur
;
int
ret
;
pCur
=
&
btc
;
ret
=
tdbBtreeCursor
(
pCur
,
pDb
->
pBt
);
if
(
ret
<
0
)
{
return
-
1
;
}
ret
=
tdbBtCursorInsert
(
pCur
,
pKey
,
keyLen
,
pVal
,
valLen
);
if
(
ret
<
0
)
{
return
-
1
;
}
return
0
;
}
\ No newline at end of file
source/libs/tdb/src/inc/tdbBtree.h
浏览文件 @
628c989e
...
...
@@ -22,9 +22,21 @@ extern "C" {
typedef
struct
SBTree
SBTree
;
typedef
struct
SBtCursor
SBtCursor
;
typedef
struct
SBtPage
SBtPage
;
struct
SBtCursor
{
SBTree
*
pBt
;
i8
iPage
;
SBtPage
*
pPage
;
u16
idx
;
u16
idxStack
[
BTREE_MAX_DEPTH
+
1
];
SBtPage
*
pgStack
[
BTREE_MAX_DEPTH
+
1
];
void
*
pBuf
;
};
int
tdbBtreeOpen
(
SPgno
rtPgno
,
int
keyLen
,
int
valLen
,
SPFile
*
pFile
,
FKeyComparator
kcmpr
,
SBTree
**
ppBt
);
int
tdbBtreeClose
(
SBTree
*
pBt
);
int
tdbBtreeCursor
(
SBtCursor
*
pCur
,
SBTree
*
pBt
);
int
tdbBtCursorInsert
(
SBtCursor
*
pCur
,
const
void
*
pKey
,
int
kLen
,
const
void
*
pVal
,
int
vLen
);
#ifdef __cplusplus
...
...
source/libs/tdb/src/inc/tdbInt.h
浏览文件 @
628c989e
...
...
@@ -129,6 +129,8 @@ typedef int (*FKeyComparator)(const void *pKey1, int kLen1, const void *pKey2, i
#define TDB_DEFAULT_FANOUT 6
#define BTREE_MAX_DEPTH 20
#include "tdbUtil.h"
#include "tdbPCache.h"
...
...
source/libs/tdb/test/tdbTest.cpp
浏览文件 @
628c989e
...
...
@@ -16,13 +16,11 @@ TEST(tdb_test, simple_test) {
GTEST_ASSERT_EQ
(
ret
,
0
);
// // Insert some data
//
ret = tdbDbInsert(pDb, "1", 1, "world", 5);
//
GTEST_ASSERT_EQ(ret, 0);
ret
=
tdbDbInsert
(
pDb
,
"1"
,
1
,
"world"
,
5
);
GTEST_ASSERT_EQ
(
ret
,
0
);
ret
=
tdbDbDrop
(
pDb
);
if
(
pDb
==
NULL
)
{
return
-
1
;
}
GTEST_ASSERT_EQ
(
ret
,
0
);
// Close a database
tdbDbClose
(
pDb
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录