Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
cebef7b2
TDengine
项目概览
taosdata
/
TDengine
12 个月 前同步成功
通知
1180
Star
22014
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cebef7b2
编写于
3月 03, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
24e51adb
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
43 addition
and
23 deletion
+43
-23
source/libs/tdb/src/db/tdbBtree.c
source/libs/tdb/src/db/tdbBtree.c
+39
-3
source/libs/tdb/src/db/tdbDb.c
source/libs/tdb/src/db/tdbDb.c
+1
-1
source/libs/tdb/src/db/tdbPager.c
source/libs/tdb/src/db/tdbPager.c
+0
-18
source/libs/tdb/src/inc/tdbBtree.h
source/libs/tdb/src/inc/tdbBtree.h
+1
-1
source/libs/tdb/src/inc/tdbPager.h
source/libs/tdb/src/inc/tdbPager.h
+2
-0
未找到文件。
source/libs/tdb/src/db/tdbBtree.c
浏览文件 @
cebef7b2
...
...
@@ -40,9 +40,11 @@ static int tdbBtCursorMoveToRoot(SBtCursor *pCur);
static
int
tdbInitBtPage
(
SPage
*
pPage
,
SBtPage
**
ppBtPage
);
static
int
tdbCompareKeyAndCell
(
const
void
*
pKey
,
int
kLen
,
const
void
*
pCell
);
static
int
tdbDefaultKeyCmprFn
(
const
void
*
pKey1
,
int
keyLen1
,
const
void
*
pKey2
,
int
keyLen2
);
static
int
tdbBtreeOpenImpl
(
SBTree
*
pBt
);
int
tdbBtreeOpen
(
SPgno
rtPgno
,
int
keyLen
,
int
valLen
,
SPager
*
pPager
,
FKeyComparator
kcmpr
,
SBTree
**
ppBt
)
{
int
tdbBtreeOpen
(
int
keyLen
,
int
valLen
,
SPager
*
pPager
,
FKeyComparator
kcmpr
,
SBTree
**
ppBt
)
{
SBTree
*
pBt
;
int
ret
;
*
ppBt
=
NULL
;
...
...
@@ -51,8 +53,6 @@ int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPager *pPager, FKeyCompa
return
-
1
;
}
// pBt->root
pBt
->
root
=
rtPgno
;
// pBt->keyLen
pBt
->
keyLen
=
keyLen
;
// pBt->valLen
...
...
@@ -79,6 +79,13 @@ int tdbBtreeOpen(SPgno rtPgno, int keyLen, int valLen, SPager *pPager, FKeyCompa
// pBt->minLeaf
pBt
->
minLeaf
=
pBt
->
minLocal
;
// TODO: pBt->root
ret
=
tdbBtreeOpenImpl
(
pBt
);
if
(
ret
<
0
)
{
free
(
pBt
);
return
-
1
;
}
*
ppBt
=
pBt
;
return
0
;
}
...
...
@@ -268,4 +275,33 @@ static int tdbDefaultKeyCmprFn(const void *pKey1, int keyLen1, const void *pKey2
}
}
return
cret
;
}
static
int
tdbBtreeOpenImpl
(
SBTree
*
pBt
)
{
// Try to get the root page of the an existing btree
SPgno
pgno
;
SPage
*
pPage
;
int
ret
;
{
// TODO: Search the main DB to check if the DB exists
pgno
=
0
;
}
if
(
pgno
!=
0
)
{
pBt
->
root
=
pgno
;
return
0
;
}
// Try to create a new database
ret
=
tdbPagerNewPage
(
pBt
->
pPager
,
&
pgno
,
&
pPage
);
if
(
ret
<
0
)
{
return
-
1
;
}
ASSERT
(
pgno
!=
0
);
pBt
->
root
=
pgno
;
return
0
;
}
\ No newline at end of file
source/libs/tdb/src/db/tdbDb.c
浏览文件 @
cebef7b2
...
...
@@ -50,7 +50,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
ASSERT
(
pPager
!=
NULL
);
// pDb->pBt
ret
=
tdbBtreeOpen
(
pgno
,
keyLen
,
valLen
,
pPager
,
keyCmprFn
,
&
(
pDb
->
pBt
));
ret
=
tdbBtreeOpen
(
keyLen
,
valLen
,
pPager
,
keyCmprFn
,
&
(
pDb
->
pBt
));
if
(
ret
<
0
)
{
return
-
1
;
}
...
...
source/libs/tdb/src/db/tdbPager.c
浏览文件 @
cebef7b2
...
...
@@ -187,24 +187,6 @@ int tdbPagerWrite(SPager *pPager, SPage *pPage) {
return
0
;
}
// int tdbPagerAllocPage(SPager *pPager, SPage **ppPage, SPgno *ppgno) {
// SPage *pPage;
// SPgno pgno;
// if (1 /*TODO: no free page*/) {
// pgno = ++pPager->dbFileSize;
// pPage = tdbPagerGet(pPager, pgno, false);
// ASSERT(pPage != NULL);
// } else {
// /* TODO: allocate from the free list */
// ASSERT(0);
// }
// *ppPage = pPage;
// *ppgno = pgno;
// return 0;
// }
int
tdbPagerBegin
(
SPager
*
pPager
)
{
if
(
pPager
->
inTran
)
{
return
0
;
...
...
source/libs/tdb/src/inc/tdbBtree.h
浏览文件 @
cebef7b2
...
...
@@ -34,7 +34,7 @@ struct SBtCursor {
void
*
pBuf
;
};
int
tdbBtreeOpen
(
SPgno
rtPgno
,
int
keyLen
,
int
valLen
,
SPager
*
pFile
,
FKeyComparator
kcmpr
,
SBTree
**
ppBt
);
int
tdbBtreeOpen
(
int
keyLen
,
int
valLen
,
SPager
*
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
);
...
...
source/libs/tdb/src/inc/tdbPager.h
浏览文件 @
cebef7b2
...
...
@@ -28,6 +28,8 @@ int tdbPagerWrite(SPager *pPager, SPage *pPage);
int
tdbPagerBegin
(
SPager
*
pPager
);
int
tdbPagerCommit
(
SPager
*
pPager
);
int
tdbPagerGetPageSize
(
SPager
*
pPager
);
int
tdbPagerFetchPage
(
SPager
*
pPager
,
SPgno
pgno
,
SPage
**
ppPage
);
int
tdbPagerNewPage
(
SPager
*
pPager
,
SPgno
*
ppgno
,
SPage
**
ppPage
);
#ifdef __cplusplus
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录