Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bc36f14e
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看板
提交
bc36f14e
编写于
2月 28, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
c4dd34b1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
54 addition
and
25 deletion
+54
-25
source/libs/tdb/src/db/tdbBtree.c
source/libs/tdb/src/db/tdbBtree.c
+42
-2
source/libs/tdb/src/db/tdbDb.c
source/libs/tdb/src/db/tdbDb.c
+3
-20
source/libs/tdb/src/db/tdbPFile.c
source/libs/tdb/src/db/tdbPFile.c
+6
-0
source/libs/tdb/src/inc/tdbBtree.h
source/libs/tdb/src/inc/tdbBtree.h
+1
-1
source/libs/tdb/src/inc/tdbInt.h
source/libs/tdb/src/inc/tdbInt.h
+2
-2
未找到文件。
source/libs/tdb/src/db/tdbBtree.c
浏览文件 @
bc36f14e
...
@@ -62,10 +62,30 @@ static int tdbEncodeLength(u8 *pBuf, uint len);
...
@@ -62,10 +62,30 @@ static int tdbEncodeLength(u8 *pBuf, uint len);
static
int
tdbBtCursorMoveToRoot
(
SBtCursor
*
pCur
);
static
int
tdbBtCursorMoveToRoot
(
SBtCursor
*
pCur
);
static
int
tdbInitBtPage
(
SPage
*
pPage
,
SBtPage
**
ppBtPage
);
static
int
tdbInitBtPage
(
SPage
*
pPage
,
SBtPage
**
ppBtPage
);
static
int
tdbCompareKeyAndCell
(
const
void
*
pKey
,
int
kLen
,
const
void
*
pCell
);
static
int
tdbCompareKeyAndCell
(
const
void
*
pKey
,
int
kLen
,
const
void
*
pCell
);
static
int
tdbDefaultKeyCmprFn
(
const
void
*
pKey1
,
int
keyLen1
,
const
void
*
pKey2
,
int
keyLen2
);
int
tdbBtreeOpen
(
SPgno
rtPgno
,
int
keyLen
,
int
valLen
,
SPFile
*
pFile
,
FKeyComparator
kcmpr
,
SBTree
**
ppBt
)
{
SBTree
*
pBt
;
int
tdbBtreeOpen
(
SBTree
**
ppBt
)
{
*
ppBt
=
NULL
;
*
ppBt
=
NULL
;
/* TODO */
pBt
=
(
SBTree
*
)
calloc
(
1
,
sizeof
(
*
pBt
));
if
(
pBt
==
NULL
)
{
return
-
1
;
}
// pBt->root
pBt
->
root
=
rtPgno
;
// pBt->keyLen
pBt
->
keyLen
=
keyLen
;
// pBt->valLen
pBt
->
valLen
=
valLen
;
// pBt->pFile
pBt
->
pFile
=
pFile
;
// pBt->kcmpr
pBt
->
kcmpr
=
kcmpr
?
kcmpr
:
tdbDefaultKeyCmprFn
;
*
ppBt
=
pBt
;
return
0
;
return
0
;
}
}
...
@@ -230,4 +250,24 @@ static int tdbInitBtPage(SPage *pPage, SBtPage **ppBtPage) {
...
@@ -230,4 +250,24 @@ static int tdbInitBtPage(SPage *pPage, SBtPage **ppBtPage) {
static
int
tdbCompareKeyAndCell
(
const
void
*
pKey
,
int
kLen
,
const
void
*
pCell
)
{
static
int
tdbCompareKeyAndCell
(
const
void
*
pKey
,
int
kLen
,
const
void
*
pCell
)
{
/* TODO */
/* TODO */
return
0
;
return
0
;
}
static
int
tdbDefaultKeyCmprFn
(
const
void
*
pKey1
,
int
keyLen1
,
const
void
*
pKey2
,
int
keyLen2
)
{
int
mlen
;
int
cret
;
ASSERT
(
keyLen1
>
0
&&
keyLen2
>
0
&&
pKey1
!=
NULL
&&
pKey2
!=
NULL
);
mlen
=
keyLen1
<
keyLen2
?
keyLen1
:
keyLen2
;
cret
=
memcmp
(
pKey1
,
pKey2
,
mlen
);
if
(
cret
==
0
)
{
if
(
keyLen1
<
keyLen2
)
{
cret
=
-
1
;
}
else
if
(
keyLen1
>
keyLen2
)
{
cret
=
1
;
}
else
{
cret
=
0
;
}
}
return
cret
;
}
}
\ No newline at end of file
source/libs/tdb/src/db/tdbDb.c
浏览文件 @
bc36f14e
...
@@ -60,10 +60,12 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
...
@@ -60,10 +60,12 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
return
-
1
;
return
-
1
;
}
}
}
else
{
ASSERT
(
0
);
}
}
// pDb->pBt
// pDb->pBt
ret
=
tdbBtreeOpen
(
&
(
pDb
->
pBt
));
ret
=
tdbBtreeOpen
(
pgno
,
keyLen
,
valLen
,
pFile
,
keyCmprFn
,
&
(
pDb
->
pBt
));
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
return
-
1
;
return
-
1
;
}
}
...
@@ -252,23 +254,4 @@ int tdbInsert(TDB *pDb, const void *pKey, int nKey, const void *pData, int nData
...
@@ -252,23 +254,4 @@ int tdbInsert(TDB *pDb, const void *pKey, int nKey, const void *pData, int nData
return 0;
return 0;
}
}
static int tdbDefaultKeyCmprFn(int keyLen1, const void *pKey1, int keyLen2, const void *pKey2) {
int mlen;
int cret;
ASSERT(keyLen1 > 0 && keyLen2 > 0 && pKey1 != NULL && pKey2 != NULL);
mlen = keyLen1 < keyLen2 ? keyLen1 : keyLen2;
cret = memcmp(pKey1, pKey2, mlen);
if (cret == 0) {
if (keyLen1 < keyLen2) {
cret = -1;
} else if (keyLen1 > keyLen2) {
cret = 1;
} else {
cret = 0;
}
}
return cret;
}
#endif
#endif
\ No newline at end of file
source/libs/tdb/src/db/tdbPFile.c
浏览文件 @
bc36f14e
...
@@ -34,6 +34,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
...
@@ -34,6 +34,7 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
SPFile
*
pFile
;
SPFile
*
pFile
;
int
fsize
;
int
fsize
;
int
zsize
;
int
zsize
;
int
ret
;
*
ppFile
=
NULL
;
*
ppFile
=
NULL
;
...
@@ -66,6 +67,11 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
...
@@ -66,6 +67,11 @@ int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
return
-
1
;
return
-
1
;
}
}
ret
=
tdbGnrtFileID
(
pFile
->
dbFileName
,
pFile
->
fid
,
false
);
if
(
ret
<
0
)
{
return
-
1
;
}
pFile
->
jfd
=
-
1
;
pFile
->
jfd
=
-
1
;
*
ppFile
=
pFile
;
*
ppFile
=
pFile
;
...
...
source/libs/tdb/src/inc/tdbBtree.h
浏览文件 @
bc36f14e
...
@@ -23,7 +23,7 @@ extern "C" {
...
@@ -23,7 +23,7 @@ extern "C" {
typedef
struct
SBTree
SBTree
;
typedef
struct
SBTree
SBTree
;
typedef
struct
SBtCursor
SBtCursor
;
typedef
struct
SBtCursor
SBtCursor
;
int
tdbBtreeOpen
(
SBTree
**
ppBt
);
int
tdbBtreeOpen
(
S
Pgno
rtPgno
,
int
keyLen
,
int
valLen
,
SPFile
*
pFile
,
FKeyComparator
kcmpr
,
S
BTree
**
ppBt
);
int
tdbBtreeClose
(
SBTree
*
pBt
);
int
tdbBtreeClose
(
SBTree
*
pBt
);
int
tdbBtCursorInsert
(
SBtCursor
*
pCur
,
const
void
*
pKey
,
int
kLen
,
const
void
*
pVal
,
int
vLen
);
int
tdbBtCursorInsert
(
SBtCursor
*
pCur
,
const
void
*
pKey
,
int
kLen
,
const
void
*
pVal
,
int
vLen
);
...
...
source/libs/tdb/src/inc/tdbInt.h
浏览文件 @
bc36f14e
...
@@ -131,12 +131,12 @@ typedef int (*FKeyComparator)(const void *pKey1, int kLen1, const void *pKey2, i
...
@@ -131,12 +131,12 @@ typedef int (*FKeyComparator)(const void *pKey1, int kLen1, const void *pKey2, i
#include "tdbUtil.h"
#include "tdbUtil.h"
#include "tdbBtree.h"
#include "tdbPCache.h"
#include "tdbPCache.h"
#include "tdbPFile.h"
#include "tdbPFile.h"
#include "tdbBtree.h"
#include "tdbEnv.h"
#include "tdbEnv.h"
#include "tdbDb.h"
#include "tdbDb.h"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录