Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f3d1bd43
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看板
提交
f3d1bd43
编写于
2月 07, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more TDB
上级
2f320dc2
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
23 addition
and
59 deletion
+23
-59
source/libs/tdb/src/db/btree.c
source/libs/tdb/src/db/btree.c
+1
-1
source/libs/tdb/src/db/pgcache.c
source/libs/tdb/src/db/pgcache.c
+7
-1
source/libs/tdb/src/db/pgfile.c
source/libs/tdb/src/db/pgfile.c
+5
-1
source/libs/tdb/src/db/tdb.c
source/libs/tdb/src/db/tdb.c
+4
-56
source/libs/tdb/src/inc/btree.h
source/libs/tdb/src/inc/btree.h
+6
-0
未找到文件。
source/libs/tdb/src/db/btree.c
浏览文件 @
f3d1bd43
...
...
@@ -16,7 +16,7 @@
#include "tdbInt.h"
struct
SBTree
{
pgno_t
root
Page
;
pgno_t
root
;
// TODO
};
...
...
source/libs/tdb/src/db/pgcache.c
浏览文件 @
f3d1bd43
...
...
@@ -125,13 +125,19 @@ int pgCacheClose(SPgCache *pPgCache) {
return
0
;
}
#define PG_CACHE_HASH(fileid, pgno) \
({ \
uint64_t *tmp = (uint64_t *)(fileid); \
(tmp[0] + tmp[1] + tmp[2] + (pgno)); \
})
SPage
*
pgCacheFetch
(
SPgCache
*
pPgCache
,
pgid_t
pgid
)
{
SPage
*
pPage
;
SPgFile
*
pPgFile
;
SPgList
*
pBucket
;
// 1. Search the page hash table SPgCache.pght
pBucket
=
pPgCache
->
pght
.
buckets
+
(
(
0
/*TODO*/
)
%
pPgCache
->
pght
.
nbucket
);
pBucket
=
pPgCache
->
pght
.
buckets
+
(
PG_CACHE_HASH
(
pgid
.
fileid
,
pgid
.
pgno
)
%
pPgCache
->
pght
.
nbucket
);
pPage
=
TD_DLIST_HEAD
(
pBucket
);
while
(
pPage
&&
tdbCmprPgId
(
&
(
pPage
->
pgid
),
&
pgid
))
{
pPage
=
TD_DLIST_NODE_NEXT_WITH_FIELD
(
pPage
,
pghtNode
);
...
...
source/libs/tdb/src/db/pgfile.c
浏览文件 @
f3d1bd43
...
...
@@ -76,7 +76,11 @@ SPage *pgFileFetch(SPgFile *pPgFile, pgno_t pgno) {
memcpy
(
pgid
.
fileid
,
pPgFile
->
fileid
,
TDB_FILE_ID_LEN
);
pgid
.
pgno
=
pgno
;
if
(
pgno
>
pPgFile
->
pgFileSize
)
{
// TODO
}
else
{
pPage
=
pgCacheFetch
(
pPgCache
,
pgid
);
}
return
pPage
;
}
...
...
source/libs/tdb/src/db/tdb.c
浏览文件 @
f3d1bd43
...
...
@@ -15,59 +15,7 @@
#include "tdbInt.h"
// static int tdbOpenImpl(TDB *dbp);
// int tdbOpen(TDB **dbpp, const char *fname, const char *dbname, uint32_t flags) {
// TDB * dbp;
// TDB_MPFILE *mpf;
// uint8_t fileid[TDB_FILE_ID_LEN];
// if ((dbp = (TDB *)calloc(1, sizeof(*dbp))) == NULL) {
// return -1;
// }
// if ((dbp->fname = strdup(fname)) == NULL) {
// free(dbp);
// return -1;
// }
// if ((dbname) && ((dbp->dbname = strdup(dbname)) == NULL)) {
// free(dbp->fname);
// free(dbp);
// return -1;
// }
// // if (tdbGnrtFileID(fname, fileid) < 0) {
// // // todo
// // return -1;
// // }
// // TODO: mpf = tdbGetMPFileByID(fileid);
// if (mpf == NULL) {
// // todoerr: maybe we need to create one
// return -1;
// }
// if (tdbOpenImpl(dbp) < 0) {
// // todoerr
// return -1;
// }
// *dbpp = dbp;
// return 0;
// }
// int tdbClose(TDB *dbp, uint32_t flags) {
// // TODO
// return 0;
// }
// static int tdbOpenImpl(TDB *dbp) {
// if (dbp->dbname == NULL) {
// // todo: open the DB as a master DB
// } else {
// // todo: open the DB as a sub-db
// }
// // TODO
// return 0;
// }
\ No newline at end of file
struct
STDb
{
// TODO
SBTree
*
pBt
;
};
source/libs/tdb/src/inc/btree.h
浏览文件 @
f3d1bd43
...
...
@@ -23,6 +23,12 @@ extern "C" {
typedef
struct
SBTree
SBTree
;
typedef
struct
SBtCursor
SBtCursor
;
// SBTree
int
btreeOpen
(
SBTree
**
ppBt
);
int
btreeClose
(
SBTree
*
pBt
);
// SBtCursor
#ifdef __cplusplus
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录